Reply by Keith Larson November 16, 20062006-11-16
Hello Rasit

I dont have the time at the moment to really dig into this, but I can
maybe make a guess or two with some suggestions.

- FLASH devices tend to be *very* slow. It is quite possible that even
at 7 wait states the VC33 is outpacing the flash. On the other hand,
the FeRAM is plenty fast.

- The bootloader does not really care which page the flash is connected
to as long as the right interrupt vectors the first read to the correct
location. What you want to see is that the program image (the 1's and
0's) is identical in the flash and FeRAM. This assumes of course that
the flash and FeRAM physical bit widths are the same. The FeRAM is only
8 bits wide, so it is possible to program a wider flash with the same
data, but the upper bits will need to be ignored.

Best regards
Keith

rasit gokalan wrote:

> Hello Keith ,
>
> I have some questions regarding to my previous mail,
> 1-Can I use demobord output file (.hex or .bin) to run my board
> 2-If answer is yes,I have different observations for the .bin and .hex
> files , when booting from flash memory. I explained the cases below,
>
> When .bin extension output file is booted from flash memory
> I seems that booting is done correctly .Timing is correct (except RW
> signal)but after booting ,Some data lines and R/W signal is still
> active.It seems from scope that RW signal is low periodically during
> booting .You can see the scope waveform from attahment
> file.(RW_A0_HEX.jpg).A0 stands for Adress line. I think during booting
> period RW signal should be high (Read) continuously.
>
> When .hex extension output file is booted from flash memory
> In this case ,I see two problem.One of them is , PAGE1 signal seem
> like chirp signal.PAGE1 signal is connected to CE pin of the flash
> memory on my board.It should be active low.Atthachment
> file,PAGE1_A0_HEX.jpeg ,shows recorded this scope waveform of PAGE1
> and A0 signals .I choose Adress 0 (A0) signal as a referance ,because
> Its value is changing when the adress number is icremanting on the
> flash memory.As you see from .jpeg file PAGE1 signal (CE of the flash
> memory)
> is not stable.
> Second problem I have observed that RW signal is low periodically
> during booting process.You can see this waveform in the attachment
> .jpeg file (RW_A0_HEX.jpeg)
> Maybe beacuse of the these two problems ,when .hex extension file is
> booted from flash memory
> adress ,data ,RW and PAGE1 signals are always active and booting
> cannot be finalized.After booting started these signals dosent stop
> until pressing reset.
> I connected CE pin of the flash memory directly to system gnd (because
> PAGE1 signal is not stable)
> and I tried booting again.I see that these data,adress and RW signal
> are not active always .They stop after some point maybe because of the
> booting is complete. Program does not work but free running clock
> CLKX,CLKR signal is active.(This is not true for binary file)
>
> I tried to explain the situations with .bin and .hex file above.I
> still dont know whether I should load .bin file to flash.or I should
> load .hex file to flash memory. I am using SST37VF040 flash memory .
> The attachment file compares the read timing of the TMS320VC33 DSP and
> SST37VF040 .
> Maybe those problems because of the read timing mismatching of the DSP
> and flash memory.
> I will try another memory for booting ,FeRAM FM18L08 which is used on
> DSK VC33 demoboard.
> What is your opinion ?.Dou have any suggestion?
>
> Note: Before trying these files on my board,I have tried on DSK VC33
> demobard. I load .hex extension file to FeRAM and I see that program
> file can be booted from FeRAM memory and program works.Program is
> simple toggling program.Toggling TCLK or FSX,DX pin.These pins are
> used as an GPIO pin in the program.
>
> Another note is in my board RDY signal is connected to gnd during
> booting. SWW
> (Wait until both external RDY is signal and wait state generator
> counts down to 0 (logical AND) )
>
> Regards,
>
> ----- Original Message ----
> From: Keith Larson > >
> To: rasit gokalan >
> Cc: c...
> Sent: Monday, November 6, 2006 4:12:45 PM
> Subject: Re: [c3x] VC33 DSP board running problem
>
> Hello Rasit
>
> The serial port CLKX/CLKR pins will stop being outputs on reset. But if
> you look these pins can be either input or output. On the DSK these
> signals are supplied from the CPLD not from the DSP... so these signals
> wont stop on reset unless the clock source to the CPLD stops. For the
> DSK, that clocks source is TCLK0 so the signals do in fact stop on
> reset. I dont know what your case is, but I have a feeling you are
> using a free running clock. This is not a problem, but maybe something
> to think about.
>
> Next, have a look at the boot loader source code in the C3x Users Guide
> (appendix B-4). Carefully look at the section labeled 'intloop' and you
> will see that the boot loader is a simple routine that runs from the
> internal ROM. More importantly, you will see that programmatically this
> routine polls the interrupts pins in the order INT3, INT0, INT1 and
> finally INT2. This means that the first pin identified as logic low
> will cause the boot loader to vector to that routine.
>
> EDGEMODE=HIGH??
>
> If you dig into the data sheet you will find the EDGEMODE pin is
> disabled for a few cycles to allow a pulled low pin to kick off the boot
> process. If you are thinking a falling edge on an interrupt is needed
> to make the boot process kick off, that would be a mistake.
>
> As far as the boot files are concerned, I would load the file the the
> FeRAM and use the DSK debugger to directly examine the contents of the
> FeRAM. If you can boot from the DSK's FeRAM, but not the flash on your
> board, maybe there is a difference between them.
>
> Those are my guesses for now
>
> Best regards,
> Keith Larson
> --------------------------
> rasit gokalan wrote:
>
> Hello everyone,
>
> I have designed board based on TMS320VC33 DSP.I have faced some problems
> when running the board.System consist of flash memory access time of
> 70ns ,reset IC to proper start up and two regulator one of them is used
> to get3.3V from 5V supply and other is used to get 1.8V from 3.3V
> regulator output.Schottky diode is used between 3.3V and 1.8V supply
> voltages. First of all I tried the simple software, polling TCLK0 pin
> ,on DSK TMS320VC33 university demoboard. It works with no problem.And
> after compiling this software on the demoboard I get two output file
> with .hex and .bin extension.I think that I can use this file for my DSP
> board .
>
> After downloading this .hex or .bin extension file to flash memory used
> on my board ,I done booting process (polling INT1 to low while releasing
> reset ) to download program memory to DSP memory.
>
> I observed two different result for .hex and .bin extension file. When
> .bin extension file is booted from flash memory ,I checked with
> oscilloscope that booting process is done correctly .I think that all
> data and adress ,PAGE1 timing is correct during booting. But software is
> not running .TCLK pin is not toggling.As I said ,I tried this software
> on DSK university demoboard and software works.
>
> When .hex extension file is booted from flash memory ,again I checked
> that timing is correct for booting process ,and samely TCLK pin is not
> toggeling but difference from the .bin extension files,for all.hex
> extension files CLKX and CLKR clock is always running .In my software
> there is nothing done for CLKX and CLKR pin but this pin is toggling .It
> is interesting !!!
>
> In shortly, I didnt understand that the same software is running on DSK
> demoboard but It dosent work on my DSP board .Because booting is done
> and program is loaded to DSP memory on my board.
>
> Secondly, .hex and .bin extension softwares having the same source code
> have different results on my board.
>
> I checked all hardware connections on the PCB and there is no problem.
> Additioanal, system information is given below.
>
> EXCLK =low 14.3Mhz cyristal is used
> CLKMOD=high
> CLKMOD1= high
> SHZN=high
> MCBL/MP=high Boot mode
> EDGEMODE =High
>
> H1 and H3 clock is running .with X5 cyristal frequency.
>
> Thank you for interest Regards
Reply by rasit gokalan November 12, 20062006-11-12
Hello Keith ,

I have some questions regarding to my previous mail,
1-Can I use demobord output file (.hex or .bin) to run my board
2-If answer is yes,I have different observations for the .bin and .hex files , when booting from flash memory. I explained the cases below,

When .bin extension output file is booted from flash memory
I seems that booting is done correctly .Timing is correct (except RW signal)but after booting ,Some data lines and R/W signal is still active.It seems from scope that RW signal is low periodically during booting .You can see the scope waveform from attahment file.(RW_A0_HEX.jpg).A0 stands for Adress line. I think during booting period RW signal should be high (Read) continuously.

When .hex extension output file is booted from flash memory
In this case ,I see two problem.One of them is , PAGE1 signal seem like chirp signal.PAGE1 signal is connected to CE pin of the flash memory on my board.It should be active low.Atthachment file,PAGE1_A0_HEX.jpeg ,shows recorded this scope waveform of PAGE1 and A0 signals .I choose Adress 0 (A0) signal as a referance ,because Its value is changing when the adress number is icremanting on the flash memory.As you see from .jpeg file PAGE1 signal (CE of the flash memory)
is not stable.
Second problem I have observed that RW signal is low periodically during booting process.You can see this waveform in the attachment .jpeg file (RW_A0_HEX.jpeg)
Maybe beacuse of the these two problems ,when .hex extension file is booted from flash memory
adress ,data ,RW and PAGE1 signals are always active and booting cannot be finalized.After booting started these signals dosent stop until pressing reset.
I connected CE pin of the flash memory directly to system gnd (because PAGE1 signal is not stable)
and I tried booting again.I see that these data,adress and RW signal are not active always .They stop after some point maybe because of the booting is complete. Program does not work but free running clock CLKX,CLKR signal is active.(This is not true for binary file)
I tried to explain the situations with .bin and .hex file above.I still dont know whether I should load .bin file to flash.or I should load .hex file to flash memory. I am using SST37VF040 flash memory .
The attachment file compares the read timing of the TMS320VC33 DSP and SST37VF040 .
Maybe those problems because of the read timing mismatching of the DSP and flash memory.
I will try another memory for booting ,FeRAM FM18L08 which is used on DSK VC33 demoboard.
What is your opinion ?.Dou have any suggestion?

Note: Before trying these files on my board,I have tried on DSK VC33 demobard. I load .hex extension file to FeRAM and I see that program file can be booted from FeRAM memory and program works.Program is simple toggling program.Toggling TCLK or FSX,DX pin.These pins are used as an GPIO pin in the program.

Another note is in my board RDY signal is connected to gnd during booting. SWW
(Wait until both external RDY is signal and wait state generator counts down to 0 (logical AND) )

Regards,

----- Original Message ----
From: Keith Larson
To: rasit gokalan
Cc: c...
Sent: Monday, November 6, 2006 4:12:45 PM
Subject: Re: [c3x] VC33 DSP board running problem

Hello Rasit

The serial port CLKX/CLKR pins will stop being outputs on reset. But if
you look these pins can be either input or output. On the DSK these
signals are supplied from the CPLD not from the DSP... so these signals
wont stop on reset unless the clock source to the CPLD stops. For the
DSK, that clocks source is TCLK0 so the signals do in fact stop on
reset. I dont know what your case is, but I have a feeling you are
using a free running clock. This is not a problem, but maybe something
to think about.

Next, have a look at the boot loader source code in the C3x Users Guide
(appendix B-4). Carefully look at the section labeled 'intloop' and you
will see that the boot loader is a simple routine that runs from the
internal ROM. More importantly, you will see that programmatically this
routine polls the interrupts pins in the order INT3, INT0, INT1 and
finally INT2. This means that the first pin identified as logic low
will cause the boot loader to vector to that routine.

EDGEMODE=HIGH??

If you dig into the data sheet you will find the EDGEMODE pin is
disabled for a few cycles to allow a pulled low pin to kick off the boot
process. If you are thinking a falling edge on an interrupt is needed
to make the boot process kick off, that would be a mistake.

As far as the boot files are concerned, I would load the file the the
FeRAM and use the DSK debugger to directly examine the contents of the
FeRAM. If you can boot from the DSK's FeRAM, but not the flash on your
board, maybe there is a difference between them.

Those are my guesses for now

Best regards,
Keith Larson
--------------------------
rasit gokalan wrote:

Hello everyone,

I have designed board based on TMS320VC33 DSP.I have faced some problems
when running the board.System consist of flash memory access time of
70ns ,reset IC to proper start up and two regulator one of them is used
to get3.3V from 5V supply and other is used to get 1.8V from 3.3V
regulator output.Schottky diode is used between 3.3V and 1.8V supply
voltages. First of all I tried the simple software, polling TCLK0 pin
,on DSK TMS320VC33 university demoboard. It works with no problem.And
after compiling this software on the demoboard I get two output file
with .hex and .bin extension.I think that I can use this file for my DSP
board .

After downloading this .hex or .bin extension file to flash memory used
on my board ,I done booting process (polling INT1 to low while releasing
reset ) to download program memory to DSP memory.

I observed two different result for .hex and .bin extension file. When
.bin extension file is booted from flash memory ,I checked with
oscilloscope that booting process is done correctly .I think that all
data and adress ,PAGE1 timing is correct during booting. But software is
not running .TCLK pin is not toggling.As I said ,I tried this software
on DSK university demoboard and software works.

When .hex extension file is booted from flash memory ,again I checked
that timing is correct for booting process ,and samely TCLK pin is not
toggeling but difference from the .bin extension files,for all.hex
extension files CLKX and CLKR clock is always running .In my software
there is nothing done for CLKX and CLKR pin but this pin is toggling .It
is interesting !!!

In shortly, I didnt understand that the same software is running on DSK
demoboard but It dosent work on my DSP board .Because booting is done
and program is loaded to DSP memory on my board.

Secondly, .hex and .bin extension softwares having the same source code
have different results on my board.

I checked all hardware connections on the PCB and there is no problem.
Additioanal, system information is given below.

EXCLK =low 14.3Mhz cyristal is used
CLKMOD=high
CLKMOD1= high
SHZN=high
MCBL/MP=high Boot mode
EDGEMODE =High

H1 and H3 clock is running .with X5 cyristal frequency.

Thank you for interest Regards
Reply by Keith Larson November 6, 20062006-11-06
Hello Rasit

The serial port CLKX/CLKR pins will stop being outputs on reset. But if
you look these pins can be either input or output. On the DSK these
signals are supplied from the CPLD not from the DSP... so these signals
wont stop on reset unless the clock source to the CPLD stops. For the
DSK, that clocks source is TCLK0 so the signals do in fact stop on
reset. I dont know what your case is, but I have a feeling you are
using a free running clock. This is not a problem, but maybe something
to think about.

Next, have a look at the boot loader source code in the C3x Users Guide
(appendix B-4). Carefully look at the section labeled 'intloop' and you
will see that the boot loader is a simple routine that runs from the
internal ROM. More importantly, you will see that programmatically this
routine polls the interrupts pins in the order INT3, INT0, INT1 and
finally INT2. This means that the first pin identified as logic low
will cause the boot loader to vector to that routine.

EDGEMODE=HIGH??

If you dig into the data sheet you will find the EDGEMODE pin is
disabled for a few cycles to allow a pulled low pin to kick off the boot
process. If you are thinking a falling edge on an interrupt is needed
to make the boot process kick off, that would be a mistake.

As far as the boot files are concerned, I would load the file the the
FeRAM and use the DSK debugger to directly examine the contents of the
FeRAM. If you can boot from the DSK's FeRAM, but not the flash on your
board, maybe there is a difference between them.

Those are my guesses for now

Best regards,
Keith Larson
--------------------------
rasit gokalan wrote:

Hello everyone,

I have designed board based on TMS320VC33 DSP.I have faced some problems
when running the board.System consist of flash memory access time of
70ns ,reset IC to proper start up and two regulator one of them is used
to get3.3V from 5V supply and other is used to get 1.8V from 3.3V
regulator output.Schottky diode is used between 3.3V and 1.8V supply
voltages. First of all I tried the simple software, polling TCLK0 pin
,on DSK TMS320VC33 university demoboard. It works with no problem.And
after compiling this software on the demoboard I get two output file
with .hex and .bin extension.I think that I can use this file for my DSP
board .

After downloading this .hex or .bin extension file to flash memory used
on my board ,I done booting process (polling INT1 to low while releasing
reset ) to download program memory to DSP memory.

I observed two different result for .hex and .bin extension file. When
.bin extension file is booted from flash memory ,I checked with
oscilloscope that booting process is done correctly .I think that all
data and adress ,PAGE1 timing is correct during booting. But software is
not running .TCLK pin is not toggling.As I said ,I tried this software
on DSK university demoboard and software works.

When .hex extension file is booted from flash memory ,again I checked
that timing is correct for booting process ,and samely TCLK pin is not
toggeling but difference from the .bin extension files,for all.hex
extension files CLKX and CLKR clock is always running .In my software
there is nothing done for CLKX and CLKR pin but this pin is toggling .It
is interesting !!!

In shortly, I didnt understand that the same software is running on DSK
demoboard but It dosent work on my DSP board .Because booting is done
and program is loaded to DSP memory on my board.

Secondly, .hex and .bin extension softwares having the same source code
have different results on my board.

I checked all hardware connections on the PCB and there is no problem.
Additioanal, system information is given below.

EXCLK =low 14.3Mhz cyristal is used
CLKMOD=high
CLKMOD1= high
SHZN=high
MCBL/MP=high Boot mode
EDGEMODE =High

H1 and H3 clock is running .with X5 cyristal frequency.

Thank you for interest Regards
Reply by rasit gokalan November 6, 20062006-11-06
Hello everyone,

I have designed board based on TMS320VC33 DSP.I have faced some problems when running the board.System consist of flash memory access time of 70ns ,reset IC to proper start up and two regulator one of them is used to get3.3V from 5V supply and other is used to get 1.8V from 3.3V regulator output.Schottky diode is used between 3.3V and 1.8V supply voltages.
First of all I tried the simple software, polling TCLK0 pin ,on DSK TMS320VC33 university demoboard. It works with no problem.And after compiling this software on the demoboard I get two output file with .hex and .bin extension.I think that I can use this file for my DSP board .

After downloading this .hex or .bin extension file to flash memory used on my board ,I done booting process (polling INT1 to low while releasing reset ) to download program memory to DSP memory.

I observed two different result for .hex and .bin extension file.
When .bin extension file is booted from flash memory ,I checked with oscilloscope that booting process is done correctly .I think that all data and adress ,PAGE1 timing is correct during booting.
But software is not running .TCLK pin is not toggling.As I said ,I tried this software on DSK university demoboard and software works.

When .hex extension file is booted from flash memory ,again I checked that timing is correct for booting process ,and samely TCLK pin is not toggeling but difference from the .bin extension files,for all .hex extension files CLKX and CLKR clock is always running .In my software there is nothing done for CLKX and CLKR pin but this pin is toggling .It is interesting !!!

In shortly,
I didnt understand that the same software is running on DSK demoboard but It dosent work on my DSP board .Because booting is done and program is loaded to DSP memory on my board.

Secondly, .hex and .bin extension softwares having the same source code have different results on my board.

I checked all hardware connections on the PCB and there is no problem.
Additioanal, system information is given below.

EXCLK =low 14.3Mhz cyristal is used
CLKMOD=high
CLKMOD1= high
SHZN=high
MCBL/MP=high Boot mode
EDGEMODE =High

H1 and H3 clock is running .with X5 cyristal frequency.

Thank you for interest
Regards