I am developing a commercial application program which will make use of the AIS
fastboot mode. I am using a Spectrum Digital TMS320C6424 Evaluation module to
test out my code. When building my application and trying to get it to boot
using AIS, failed miserably so I decided to try experimenting with a simple
program then just flashes LEDS. I got the code from the included code that came
with my EBM board. If I built this simple flash LED program with no DSP/BIOS
config included in the project, I am able to build it and convert the resulting
.out image to an AIS file using genAIS.pl perl script and finally add the
necessary 1651 1 42000000 0 line to the top of the hex image and
rename it to a .hex file. I then burn the image successfully into my EVM board
using Flashburn utility. When I disconnect the ice and power and reattach,
everything works fine! So, I know my basic technique of building an AIS
bootloaded image from flash works fine. Howeverm The problem I am having is
that if I add DSP/BIOS config to my project(as my commercial application will
requires this) and follow the same technique of building my image, the code
program does not work. To troubleshoot the problem, I attach the USB JTAG ICE
and do a Connect using Code Composer Studio (ver3.3.38.2) I then examine flash
memory at 0x42000000 and see the correct contents ( i.e. magic number, section
load commands, data etc...) I then hit run but the processor never makes it
out of c_int00 routine I cannot get to my main. I halt the processor, and
then go to confirm that all of my flash code sections have been copied to the
desired RUN locations in RAM and I see that the AIS bootloader did copy all of
the code to where I expected it and started running, however there is something
not right since I cannot get out of c_int00. I have set all of my code load
sections out of FLASH and have designated all of my compiler sections out of DDR
RAM memory with the exception of constant sections (.const and .printf) which
run out of flash. When compiling I got .printf section not defined when using
RAM RUN locations so I left it to run in FLASH. plus I noted in some older TI
documents that they recommended that .const sections be loaded and run from
flash. All of my BIOS code and BIOS data sections are set to IRAM. IRAM is
defined at base address 0x10800000 with heap size of 0x8000 and space defined
for both code and data DDR RAM is set to base address of 0x80000000
declared for both code and data space with no heap Flash is set to memory
space 0x420000000 for code/data 0x42000000 is defined as the entry address
that the internal boot rom goes to run AIS code to do section loads. ANYONE
have any ideas or experience using AIS???
Vince