Initializing memory on the BBW using Starterware examples

Hi:

My BeagleBone White hangs at the function call MMUInit((unsigned int*)pageTable) while running the Demo and the usb_dev_serial examples in TI’s Starterware 01.01 in the TI Code Composer Studio v5. I have corresponded with the TI Applications support team and the TI Starterware community at TI Home » TI E2E Community » Support Forums » Embedded Software » StarterWare » StarterWare forum » the demo in StarterWare_02_00_00_07 is not working for AM3352BZCZ80 to no avail. It runs the C instructions and my added print to console statements just fine until I get to this function call halfway through the MMUConfigAndEnable function call define earlier in the example programs.

Thanks,

Warren S.

This is a pretty specific issue, and since I don’t have this exact setup, I am shooting in the dark.

  1. Are you using the latest Starterware for the AM335x family?

  2. Have you tested it without any of your code added to the demo?

  3. Have you freshly formatted and partitioned the memory card and then copied MLO first, then other files?

It’s been a few months since I played around in Starterware…
Louis

Never calling print before the processor and MMU is initialized is that something you added?

Hi, Louis

Wow, thanks for heeding my call.

  1. Yes, I am using the latest Starterware for the AM335x family. The older version actually worked better because I could compile in debug mode while the latest version only lets me run in release mode for the time being. As my TI Applications support adviser noted before turning me over to the forum, the latest version inserts a debug or release folder in the source code location file chain.

  2. Yes, I tested it first without any of my own code added to the demo. The print statements were only added later to see where it stopped.

  3. I have no problem running the Angstrom Distribution or the Demo using a freshly formatted memory card. Although I am not sure what to expect when I run usb_dev_serial. Perhaps a second com port window? Surprisingly (to me), after Starterware hangs at MMUinit, the MLO/Demo binaries still work after I press the reset button on the board (but not the reset in Starterware).

Thanks for giving me hope,

Warren

I just checked, and the last time I compiled an MLO was one year ago…to the week! I am using version 2.00.00.07, so I don’t know what has changed in 2.00.01.xx. That being said I have a couple more questions:

  1. Did you have to create the projects in CCSv5, or did you use the Starterware one ("<starterware_folder>\build\armv7a\cgt_ccs\am335x\beaglebone\demo")?
  2. Are you building the bootloader (MLO) and the demo app, or just the demo?
  3. What is your demo binary file name?

For my application I used the bootloader demo to create an MLO. This MLO setup the beaglebone and then loaded a file called “app” from the SD card. Once the app was loaded, the bootloader transferred control to it.

Louis

Hi, Louis

  1. I am trying to create the projects in CCSv5 so I can use the debugger to understand how they work, then modify usb_dev_serial to meet my application needs.
    I did use the 01.01 Starterware one ("<starterware_folder>\build\armv7a\cgt_ccs\am335x\beaglebone\demo\demo_ti.bin with MLO from the 00.07 bootloader folder") and it works. I guess MLO did not change from the version you are using to the latest version I am using.

  2. Are you building the bootloader (MLO) and the demo app, or just the demo? Just the demo, but only for booting from the SD card. I am not using MLO in CCSv5, but instead launching a configuration file and connecting to target and then loading demo.out.

  3. What is your demo binary file name? C:\ti\AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\beaglebone\demo\Release\demo_ti.bin. Note the difference between this 01.01 version and your 00.07 version is the extra \Release folder.

How do you debug your program when you use the MLO and app to run your application?

Thanks again,

Warren

So, if I understand correctly, the demos work when booted from the SD card, but it fails when you load it through the debugger....My guess is that there is a problem with the configuration when you do a debug load.

Have you tried loading the file via the serial method of the MLO?

I didn't really get that deep into debugging. I just echoed strings to the serial console from the MLO, which was the application I was working on. I then switched to Linux development because I needed complex USB drivers and didn't want to roll my own at that time.

Louis