I'm using the SM470 version of this chip which is assured to be
backwards compatible with the TMS470 processor (part of the high
reliability range now).
Now, there is no support for either processor in version 5 of the
compiler - I can't find any ARM7 devices in uVision 5 infact.
Therefore I have resorted to a very old version of the compiler
An example project in the Keil installation that builds
successfully for this platform, along with my own program I wrote for
the device are proving impossible to upload to the on chip flash,
I am using a uLink2 with downgraded firmware (to be compatible
with the 4.0 IDE) as the knowledgebase article suggests and standard
device settings from the built in TMS470 processor profiles in the
Despite this, I am seeing the error "Cannot write to flash
algorithms" which is well documented as referring to the "RAM for
Algorithm" dialog - whose settings are currently "Start: 0x2000000"
for "0x1000" bytes.
Now, the IAR example has the RAM start address at 0x00400080 which
I will try shortly - but can anyone confirm or deny that they have
had a similar problem? The memory map information on the TI processor
is almost entirely missing (except for register access) so I can't
recreate linker information from scratch!
Does anyone have any thoughts - I missed the ARM7 bandwagon a few
years ago and have only ever programmed on Cortex processors!
Kind thanks, all
Just a note about Keil uVision 5 - have you installed the legacy
package that contains support for lots of older processors?
Kind thanks for your help - I can now compile code in uV5 for the
ARM7 device. In the uV5 environment however I am seeing another
problem. I can no longer see the ARM through the JTAG interface (the
JTAG interface is working fine and is seen by uV5).
I know that with the later firmware there is a utility that allows
switching of the uLink to a mode making it compatible with older uV
environments. I have tried flipping those settings but that has had
no effect (I didn't think it would).
I'm loathe to suspect connectivity as the correct core is detected
in uV4 suggesting things are working.
Thanks for giving me a couple of extra options to try though in
It looks like there is a problem with the silicon in the batch.
That could explain the inability to program (I've not seen any major
issues with Keil in the past). May hold back on this now.
I would be interested in any comments relating to the uV5/uV4
visibility however as with a resurrection in certain projects we are
looking to go down here as a supported route and it would be nice to
have some assurances.
Thanks for your comments re legacy packs earlier.
If you thought you missed the ARM7 bandwagon, then I'm back in the dust! We are using both the TMS470 *and* the SM470 processors. We started with the TMS470 since it's much less expensive to begin code development and are now working with the SM470.
We only used peripherals and I/O pins that are available on both processors as we knew we wanted the same code set to work on both processors. The boards are essentially identical except for the processor.
I've been able to debug code on the TMS470R1B1M for several months but when I tried to download the same code to the SM470R1B1M, I'm getting the "Cannot Write to RAM for Flash Algorithms" error. Any suggestions?
Note that you are waking up a six year old thread.
What version of Keil are you using? ARM7 support was dropped from MDK some time ago ...
View all questions in Keil forum