Other Parts Discussed in Thread: UNIFLASH
Hi, experts.
CCS: Version: 11.1.0.00011
UniFlash: Version: 8.1.0.4135
I am having the following issue. I need to flash the MCU using the generated .hex (Note that using any other file format is out of discussion)
A bit of background in the project:
We are partitioning the Program Memory in three according to our needs and CCS does not provide a way to make it possible. A portion of flash is allocated for a launcher that launches a valid App and the other two portions allocate space for the actual App which could reside in any of the APP partitions.
Now, with that being said we need to include the DCSM OTP values for Zone 1 in the hex file so that once we flash the MCU it keeps those values and we don't hove to do that manually which in production is very inconvenient.
I have tried to flash the MCU through UniFlash but it does not work when I am using a file that includes the portion of memory of the DCSM OTP. A hex file without this content works fine but without the DCSM settings the MCU doesn't work since it does not boot from flash by default.
The following is the start of our .hex file
:020000040007F3
:20800000FFFF1FFFFFFFFFFFFFFF1FFFFFFFFFFFFFFF1FFFFFFFFFFFFFFF5AFFFFFF5AFF6A
:20801000FFFFFB7FFFFF7FFFFFFF4BFFFFFF3FFFFFFF9FFFFFFF0FFFFF03FFFFFFFFFFFF34
:020000040008F2
:2000000000480784000000000000000000000000D00600C8081C8F05D22E86A940C4FFED98
:2000100000F876228F05D20E18C4FFFD761A02177640C6798F45D2088F05D232CCC500037C
:2000200088A9CCC4000280A9AAA90EA8FF5A92AB900327A992A7CAA688A92BAAA9A90FA61C
:20003000611276228F05D20E18C4FFFE761A020C7640C679AAA99000910376480719020B63
The first three lines correspond to the DCMS OTP Zone 1 address (0x78000) and without the DCSM settings the MCU doesn't work since it does not boot from flash by default.
The following are the DCSM setting:
These settings are the same that can be seen in the portions of the hex file.
Before I tried to flash the MCU for the first time I read the memory getting the following result:
Flashing fails as I will show hereafter but I read the memory again getting the following:
So the part of the values on the DCSM address were changed but the flashing process broke for a reason I don't know.
These are the errors I am getting while trying to flash using UniFlash in different attempts:
As I mention before If I use a hex file that doesn't have the content for the DCSM (first three lines in our case) flashing the MCU with UniFlash works but those setting are necessary so that MCU boots from Flash. In the past I have use the .out file which seems to flash the MCU with the right DCSM setting form the asm and cmd file that I have in the project but this doesn't work for us because we have more than one app allocated in different portions of the Flash. So to fix that I have to re-flash the MCU with a hex file that contains Launcher and App but us I mentioned that is very inconvenient for production sake.
So, my question is how can I include the right settings of the DCSM OTP Zone1 in my hex file so that it works with UniFlash? What I am missing?
I truly appreciate any help.