你(们)好
我正在开发与 MSPBoot 类似的更新系统、但使用3个映像(当前应用、下载的映像和备份映像)。
由于我的代码大小(略高于100KB)以及由于我使用的 TI 库、我需要使用大型代码模型。 我使用的是 IAR。
我不需要任何外设接口、我的下载映像会下载到当前应用程序中并存储在下载区域中。 验证后、我应该复位 MSP430、主存储器引导加载程序应该将下载的映像复制到应用程序区域。
我已经完成了 MSPBoot 应用手册和代码。 但它仅适用于低闪存地址、我需要使用低/高闪存地址。 阅读一些论坛主题后、TI 似乎应该启动对使用大型代码模型的器件的 MSPBoot 更新。 我看到它是适用于 FRAM 器件和 CCS 的第一版。
是否将发布针对闪存部件和 IAR 的 MSPBoot 更新?
根据我所读的内容、我的主要问题应该是生成链接器文件(在 MSPBoot 中、有一些脚本只适用于小代码模型)。 有人可以帮我解决这个问题吗?
我计划使用以下内存分布:
| 启动 | 结束 | 启动 | 结束 | 尺寸 | 512B 扇区 | |
| 应用领域 | 0x0C000 | 0x0EFFF | 0x10000 | 0x0373FF | 0x2A400 | 338. |
| 引导区域 | 0x0F000 | 0x0FFFF | 0x01000 | 8. | ||
| 下载区域 | 0x37400 | 0x617FF | 0x2A400 | 338. | ||
| 备份区域 | 0x61800 | 0x8BBFF | 0x2A400 | 338. | ||
| 未使用 | 0x8BC00 | 0x8BFFF | 0x00400 | 2. | ||
| 共计 | 0x80000 | 1024 | ||||
此外、我还想将以下位置用于应用程序中断矢量:
| 启动 | 结束 | 尺寸 | |
| 应用程序重置 | 0x0EFFE | 0x0EFFF | 0x00002 |
| 应用程序代理矢量 | 0x0EF80 | 0x0EFFD | 0x0007E |
| 共计 | 0x00080 |
我的内存分配是否正确?
此外、由于 MSP430F6x 具有矢量重定向到 RAM 的功能、因此在启动时、我可以将代理矢量表复制到 RAM 并将矢量重定向到 RAM、而不是使用代理表。 是这样吗?
此致、
Jorge Cunha