Technical discussions about the TI C6000 DSPs (including the c62x, c64x and c67x DSPs).
Hi all, I am using TI C6424 EVM board. I try to boot the board using EMIFA ROM Fast mode, with AIS (which is the default board setting mode). I wrote a non-DSP/BIOS LED blink program and flash burned. It works well. Then I wrote a DSP/BIOS based application to test. Everything else keeps the same. It doesn't work. I then check to find no sections have been copied from flash to RAM or SDRAM. Could someone please tell me why in the DSP/BIOS based application the built-in bootloader doesnt copy any sections into RAM or SDRAM? It is in AIS format. Thanks a lot in advance! Yang______________________________
Hi all, As I tested, I found .const section with a section length 0x16B1 bytes, which was copied to IRAM successfully by AIS bootloader. However, afterward sections stoped to be copied to IRAM. As you know, AIS assumes data to be 32 bits in width. 0x16B1 is not a integer times of 32 bits (4 bytes). Could anyone please suggest a solution for this case? Best Regards, Yang ________________________________ From: Naga Munaiah E [mailto:n...@icommtele.com] Sent: Sat 29/11/2008 04:15 To: Yang, Chunhua Subject: RE: [c6x] DSP/BIOS application flash bootload question Hi , Please check the code with BOIS application with out Emulator cable, Then see the output,if you are trying to execute the code with Emulator cable , It wont copy from flash to RAM or SDRAM. And please tell me how u r testing the code. With Best Regards Nagamunaiah ________________________________ From: c...@yahoogroups.com [mailto:c...@yahoogroups.com] On Behalf Of Yang, Chunhua Sent: Thursday, November 27, 2008 8:43 PM To: c...@yahoogroups.com Subject: [c6x] DSP/BIOS application flash bootload question Hi all, I am using TI C6424 EVM board. I try to boot the board using EMIFA ROM Fast mode, with AIS (which is the default board setting mode). I wrote a non-DSP/BIOS LED blink program and flash burned. It works well. Then I wrote a DSP/BIOS based application to test. Everything else keeps the same. It doesn't work. I then check to find no sections have been copied from flash to RAM or SDRAM. Could someone please tell me why in the DSP/BIOS based application the built-in bootloader doesnt copy any sections into RAM or SDRAM? It is in AIS format. Thanks a lot in advance! Yang______________________________
Yang, On Mon, Dec 1, 2008 at 9:30 AM, Yang, Chunhua <c...@liv.ac.uk> wrote: > Hi all, > > As I tested, I found .const section with a section length 0x16B1 bytes, > which > was copied to IRAM successfully by AIS bootloader. However, afterward > sections > stoped to be copied to IRAM. As you know, AIS assumes data to be 32 bits in > width. 0x16B1 is not a integer times of 32 bits (4 bytes). <mld> You can use an 'align 32' directive in the sections portion of the linker command file [you may also want to do a zero or ones fill. mikedunn > > Could anyone please suggest a solution for this case? > > Best Regards, > Yang > > ________________________________ > > From: Naga Munaiah E [mailto:n...@icommtele.com] > Sent: Sat 29/11/2008 04:15 > To: Yang, Chunhua > Subject: RE: [c6x] DSP/BIOS application flash bootload question > > Hi , > > Please check the code with BOIS application with out Emulator cable, > > Then see the output,if you are trying to execute the code with Emulator > cable , > It wont copy from flash to RAM or SDRAM. > > And please tell me how u r testing the code. > > With Best Regards > > Nagamunaiah > > ________________________________ > > From: c...@yahoogroups.com [mailto:c...@yahoogroups.com] On Behalf Of Yang, > Chunhua > Sent: Thursday, November 27, 2008 8:43 PM > To: c...@yahoogroups.com > Subject: [c6x] DSP/BIOS application flash bootload question > > Hi all, > > I am using TI C6424 EVM board. I try to boot the board using EMIFA ROM Fast > mode, with AIS (which is the default board setting mode). I wrote a > non-DSP/BIOS > LED blink program and flash burned. It works well. > > Then I wrote a DSP/BIOS based application to test. Everything else keeps the > same. It doesn't work. > I then check to find no sections have been copied from flash to RAM or > SDRAM. > > Could someone please tell me why in the DSP/BIOS based application the > built-in > bootloader doesnt copy > any sections into RAM or SDRAM? It is in AIS format. > > Thanks a lot in advance! > > Yang -- www.dsprelated.com/blogs-1/nf/Mike_Dunn.php______________________________
Chunhua- > As I tested, I found .const section with a section length 0x16B1 bytes, which > was copied to IRAM successfully by AIS bootloader. However, afterward sections > stoped to be copied to IRAM. As you know, AIS assumes data to be 32 bits in > width. 0x16B1 is not a integer times of 32 bits (4 bytes). > > Could anyone please suggest a solution for this case? Are you sure it's bootloader code that got stuck? Or did the bootloader process complete and application code start to run? If it's truly a bootloader issue, then you can use CCS to breakpoint and single-step the bootloader code, and find out why it's unhappy (C6424 bootloader source should be published by TI). Maybe the bootloader stopped copying sections due to some type of error, confusion in the AIS script, etc. I doubt that a section length of 0x16b1 is an issue, typical TI tools behavior is to pad section lengths to next multiple of 4 or 8, depending on whether it's a data or code section. If the boot process completed, then the issue could be something else. One quick guess -- make sure no DSP/BIOS data sections are located in EMIFA ROM. In that case, DSP/BIOS would be trying to write to ROM -- which obviously would not work. -Jeff > ________________________________ > > From: Naga Munaiah E [mailto:n...@icommtele.com] > Sent: Sat 29/11/2008 04:15 > To: Yang, Chunhua > Subject: RE: [c6x] DSP/BIOS application flash bootload question > > Hi , > > Please check the code with BOIS application with out Emulator cable, > > Then see the output,if you are trying to execute the code with Emulator cable , > It wont copy from flash to RAM or SDRAM. > > And please tell me how u r testing the code. > > With Best Regards > > Nagamunaiah > > ________________________________ > > From: c...@yahoogroups.com [mailto:c...@yahoogroups.com] On Behalf Of Yang, > Chunhua > Sent: Thursday, November 27, 2008 8:43 PM > To: c...@yahoogroups.com > Subject: [c6x] DSP/BIOS application flash bootload question > > Hi all, > > I am using TI C6424 EVM board. I try to boot the board using EMIFA ROM Fast > mode, with AIS (which is the default board setting mode). I wrote a non-DSP/BIOS > LED blink program and flash burned. It works well. > > Then I wrote a DSP/BIOS based application to test. Everything else keeps the > same. It doesn't work. > I then check to find no sections have been copied from flash to RAM or SDRAM. > > Could someone please tell me why in the DSP/BIOS based application the built-in > bootloader doesnt copy > any sections into RAM or SDRAM? It is in AIS format. > > Thanks a lot in advance! > > Yang______________________________
Hi Jeff, Thanks a lot for your comments. Good idea to check and debug bootloader code. I will try to find and check the C6424 bootloader source to find possible solutions. Best Regards, C. Yang ________________________________ From: Jeff Brower [mailto:j...@signalogic.com] Sent: Mon 01/12/2008 16:53 To: Yang, Chunhua Cc: c...@yahoogroups.com Subject: Re: [c6x] DSP/BIOS application flash bootload question Chunhua- > As I tested, I found .const section with a section length 0x16B1 bytes, which > was copied to IRAM successfully by AIS bootloader. However, afterward sections > stoped to be copied to IRAM. As you know, AIS assumes data to be 32 bits in > width. 0x16B1 is not a integer times of 32 bits (4 bytes). > > Could anyone please suggest a solution for this case? Are you sure it's bootloader code that got stuck? Or did the bootloader process complete and application code start to run? If it's truly a bootloader issue, then you can use CCS to breakpoint and single-step the bootloader code, and find out why it's unhappy (C6424 bootloader source should be published by TI). Maybe the bootloader stopped copying sections due to some type of error, confusion in the AIS script, etc. I doubt that a section length of 0x16b1 is an issue, typical TI tools behavior is to pad section lengths to next multiple of 4 or 8, depending on whether it's a data or code section. If the boot process completed, then the issue could be something else. One quick guess -- make sure no DSP/BIOS data sections are located in EMIFA ROM. In that case, DSP/BIOS would be trying to write to ROM -- which obviously would not work. -Jeff > ________________________________ > > From: Naga Munaiah E [mailto:n...@icommtele.com] > Sent: Sat 29/11/2008 04:15 > To: Yang, Chunhua > Subject: RE: [c6x] DSP/BIOS application flash bootload question > > Hi , > > Please check the code with BOIS application with out Emulator cable, > > Then see the output,if you are trying to execute the code with Emulator cable , > It wont copy from flash to RAM or SDRAM. > > And please tell me how u r testing the code. > > With Best Regards > > Nagamunaiah > > ________________________________ > > From: c...@yahoogroups.com [mailto:c...@yahoogroups.com] On Behalf Of Yang, > Chunhua > Sent: Thursday, November 27, 2008 8:43 PM > To: c...@yahoogroups.com > Subject: [c6x] DSP/BIOS application flash bootload question > > Hi all, > > I am using TI C6424 EVM board. I try to boot the board using EMIFA ROM Fast > mode, with AIS (which is the default board setting mode). I wrote a non-DSP/BIOS > LED blink program and flash burned. It works well. > > Then I wrote a DSP/BIOS based application to test. Everything else keeps the > same. It doesn't work. > I then check to find no sections have been copied from flash to RAM or SDRAM. > > Could someone please tell me why in the DSP/BIOS based application the built-in > bootloader doesnt copy > any sections into RAM or SDRAM? It is in AIS format. > > Thanks a lot in advance! > > Yang______________________________
Hi Jeff, The problem was as you guessed. Thanks a lot. I moved all sections to IRAM, it works now. I found in AIS image file that all code/initialised sections will be loaded to the run address even though load address and run address are set to be the same in external ROM. In this case, this means AIS bootloader will try to write data to ROM. It will get problem since code/data can only be burned into Flash. Does this mean there is no chance to set a section to have both load and run addresses in ROM? Am I right or not? Best Regards, Yang ________________________________ From: Jeff Brower [mailto:j...@signalogic.com] Sent: Mon 01/12/2008 16:53 To: Yang, Chunhua Cc: c...@yahoogroups.com Subject: Re: [c6x] DSP/BIOS application flash bootload question Chunhua- > As I tested, I found .const section with a section length 0x16B1 bytes, which > was copied to IRAM successfully by AIS bootloader. However, afterward sections > stoped to be copied to IRAM. As you know, AIS assumes data to be 32 bits in > width. 0x16B1 is not a integer times of 32 bits (4 bytes). > > Could anyone please suggest a solution for this case? Are you sure it's bootloader code that got stuck? Or did the bootloader process complete and application code start to run? If it's truly a bootloader issue, then you can use CCS to breakpoint and single-step the bootloader code, and find out why it's unhappy (C6424 bootloader source should be published by TI). Maybe the bootloader stopped copying sections due to some type of error, confusion in the AIS script, etc. I doubt that a section length of 0x16b1 is an issue, typical TI tools behavior is to pad section lengths to next multiple of 4 or 8, depending on whether it's a data or code section. If the boot process completed, then the issue could be something else. One quick guess -- make sure no DSP/BIOS data sections are located in EMIFA ROM. In that case, DSP/BIOS would be trying to write to ROM -- which obviously would not work. -Jeff > ________________________________ > > From: Naga Munaiah E [mailto:n...@icommtele.com] > Sent: Sat 29/11/2008 04:15 > To: Yang, Chunhua > Subject: RE: [c6x] DSP/BIOS application flash bootload question > > Hi , > > Please check the code with BOIS application with out Emulator cable, > > Then see the output,if you are trying to execute the code with Emulator cable , > It wont copy from flash to RAM or SDRAM. > > And please tell me how u r testing the code. > > With Best Regards > > Nagamunaiah > > ________________________________ > > From: c...@yahoogroups.com [mailto:c...@yahoogroups.com] On Behalf Of Yang, > Chunhua > Sent: Thursday, November 27, 2008 8:43 PM > To: c...@yahoogroups.com > Subject: [c6x] DSP/BIOS application flash bootload question > > Hi all, > > I am using TI C6424 EVM board. I try to boot the board using EMIFA ROM Fast > mode, with AIS (which is the default board setting mode). I wrote a non-DSP/BIOS > LED blink program and flash burned. It works well. > > Then I wrote a DSP/BIOS based application to test. Everything else keeps the > same. It doesn't work. > I then check to find no sections have been copied from flash to RAM or SDRAM. > > Could someone please tell me why in the DSP/BIOS based application the built-in > bootloader doesnt copy > any sections into RAM or SDRAM? It is in AIS format. > > Thanks a lot in advance! > > Yang______________________________
Chunhua-
> The problem was as you guessed. Thanks a lot. I moved all sections to IRAM,
it
> works now.
>
> I found in AIS image file that all code/initialised sections will be loaded
to the
> run address even though load address and run address are set to be the same
in
> external ROM. In this case, this means AIS bootloader will try to write
data to
> ROM. It will get problem since code/data can only be burned into Flash.
>
> Does this mean there is no chance to set a section to have both load and
run
> addresses in ROM? Am I right or not?
Hmm, well it could be a problem with AIS bootloader... but I would think it
would be
smart enough not to load a section that's already loaded. I have to believe TI
guys
tested this.
What about your linker command file? Does it clearly specify the ROM EMIF area
as
not writable? For example for a ROM area that can contain read-only data and
executable code, you should have something like:
MEMORY {
CHUNHUAS_ROM (RX): origin = 0xaaa, length = 0xbbb
}
If attributes () are specified but there is no 'W', then the memory area is not
writable. Otherwise the default is RWIX (read/write/executable code/can be
initialized).
-Jeff
>
--------------------------------------------------------------------------------
---
> From: Jeff Brower [mailto:j...@signalogic.com]
> Sent: Mon 01/12/2008 16:53
> To: Yang, Chunhua
> Cc: c...@yahoogroups.com
> Subject: Re: [c6x] DSP/BIOS application flash bootload question
>
> Chunhua-
>
> > As I tested, I found .const section with a section length 0x16B1
bytes, which
> > was copied to IRAM successfully by AIS bootloader. However, afterward
sections
> > stoped to be copied to IRAM. As you know, AIS assumes data to be 32
bits in
> > width. 0x16B1 is not a integer times of 32 bits (4 bytes).
> >
> > Could anyone please suggest a solution for this case?
>
> Are you sure it's bootloader code that got stuck? Or did the bootloader
process
> complete and application code start to run?
>
> If it's truly a bootloader issue, then you can use CCS to breakpoint and
> single-step
> the bootloader code, and find out why it's unhappy (C6424 bootloader source
should
> be
> published by TI). Maybe the bootloader stopped copying sections due to
some type
> of
> error, confusion in the AIS script, etc. I doubt that a section length of
0x16b1
> is
> an issue, typical TI tools behavior is to pad section lengths to next
multiple of 4
> or 8, depending on whether it's a data or code section.
>
> If the boot process completed, then the issue could be something else. One
quick
> guess -- make sure no DSP/BIOS data sections are located in EMIFA ROM. In
that
> case,
> DSP/BIOS would be trying to write to ROM -- which obviously would not
work.
>
> -Jeff
>
> > ________________________________
> >
> > From: Naga Munaiah E [mailto:n...@icommtele.com]
> > Sent: Sat 29/11/2008 04:15
> > To: Yang, Chunhua
> > Subject: RE: [c6x] DSP/BIOS application flash bootload question
> >
> > Hi ,
> >
> > Please check the code with BOIS application with out Emulator cable,
> >
> > Then see the output,if you are trying to execute the code with
Emulator cable ,
> > It wont copy from flash to RAM or SDRAM.
> >
> > And please tell me how u r testing the code.
> >
> > With Best Regards
> >
> > Nagamunaiah
> >
> > ________________________________
> >
> > From: c...@yahoogroups.com [mailto:c...@yahoogroups.com] On Behalf Of
Yang,
> > Chunhua
> > Sent: Thursday, November 27, 2008 8:43 PM
> > To: c...@yahoogroups.com
> > Subject: [c6x] DSP/BIOS application flash bootload question
> >
> > Hi all,
> >
> > I am using TI C6424 EVM board. I try to boot the board using EMIFA ROM
Fast
> > mode, with AIS (which is the default board setting mode). I wrote a
non-DSP/BIOS
> > LED blink program and flash burned. It works well.
> >
> > Then I wrote a DSP/BIOS based application to test. Everything else
keeps the
> > same. It doesn't work.
> > I then check to find no sections have been copied from flash to RAM or
SDRAM.
> >
> > Could someone please tell me why in the DSP/BIOS based application the
built-in
> > bootloader doesnt copy
> > any sections into RAM or SDRAM? It is in AIS format.
> >
> > Thanks a lot in advance!
> >
> > Yang
______________________________