Mar 06, 2019
09:27 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 06, 2019
09:27 PM
Hi, I am developing a bootloader for TC27x.
While I try to program the flash, I have to enter page mode.
In order to program address 0x80000000 AC_PF0 area, what addrl do I have to choose for it?
While I try to program the flash, I have to enter page mode.
In order to program address 0x80000000 AC_PF0 area, what addrl do I have to choose for it?
#define IFXFLASH_CMD_BASE_ADDRESS 0xaf000000
uint8 IfxFlash_enterPageMode(uint32 pageAddr) {
volatile uint32 *addr1 = (volatile uint32 *)(IFXFLASH_CMD_BASE_ADDRESS | 0x5554);
if ((pageAddr & 0xff000000) == 0xa0000000) // program flash
{
*addr1 = 0x50;
return 0;
}
else if ((pageAddr & 0xff000000) == 0xaf000000) // data flash
{
*addr1 = 0x5D;
return 0;
}
__dsync();
return 1; // invalid flash address
}
uint8 IfxFlash_enterPageMode(uint32 pageAddr) {
volatile uint32 *addr1 = (volatile uint32 *)(IFXFLASH_CMD_BASE_ADDRESS | 0x5554);
if ((pageAddr & 0xff000000) == 0xa0000000) // program flash
{
*addr1 = 0x50;
return 0;
}
else if ((pageAddr & 0xff000000) == 0xaf000000) // data flash
{
*addr1 = 0x5D;
return 0;
}
__dsync();
return 1; // invalid flash address
}
1 Reply
May 08, 2019
03:48 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 08, 2019
03:48 AM
Segment 8 and A are identically. For programming address 0x8xxxxxxx you must change the segment from 8 to A and program 0xAxxxxxxx instead of 0x8xxxxxxx.