1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
Hi Forever,
您可以参考HALCoGen中的Help Tips,里面有您需要的EEPROM的读写参考例程和具体步骤: 首先下载最新HALCoGen,链接如下:http://www.ti.com/tool/halcogen 安装完毕之后,您可以在安装路径下面可以看到Help 文件夹: 打开后看到: 最后在TMS470M的Help工具中就可以看到您需要的EEPROM例程了: 谢谢! If my reply answers your question, please click on Verify Answer.Thanks Best Regards, SZ |
|
|
|
huzp_bbs 发表于 2018-6-21 08:24 你好,感谢你详细的解答,我已初步调试成功,但由于HCG生成代码太多,没有时间一一详细查看,无法准确理解其含义。其是否主要用以自动实现此FLASH空间划分多区域的EEPROM重复利用??想跟你再确认一下 1.HCG的FEE选项中第二配置页,共16个FEE BLOCK,每个最多80bytes,合计1280bytes,而一个FEE FLASH SECTOR有16Kbytes,差不多有15倍的空余空间。此空余空间是否由HCG生成的代码来自动完成对SECTOR区间划分成约16个页,来提高FLASH模拟EEPROM的耐久性?若确实如此,那是否意味着要考虑合计的FEE BLOCK容量不能超过16K/16页=1024bytes? 2.SECTOR最多可设置5个,但在HCG的代码里没有看到可人为选择SECTOR的函数,是否意味着自动完成了模拟EEPROM前一个SECTOR写满后,转入下一个SECTOR,再将前一个SECTOR擦除的功能? 3.自动生成代码有许多WARING,如下图,虽不影响使用但看着不舒服,如何消除? |
|
|
|
toomuchsnow 发表于 2018-6-21 08:29 Hi Forever, 我来说一下我的理解哈。 Block是指需要保存的数据对象,比如在一个应用中,要保存两个数据,[时间] (8byte) 和[地点] (16byte),那么就设置两个Block,[时间]对应block 1, [地点]对应block 2。 在HALCoGen中,需要配置两个Block,并且把它们的长度也设置好。 如何计算空间,需要看我们的Virtual Sector一页中是如何设置的。 比如默认的设置,那么Virtual Sector 1 对应 (Real) Flash Sector 0。长度是16KB。 接下来,假设每次都是[时间]和[地点]同时需要更新保存的话,(为了算方便,我没有考虑overhead的长度),那么每次要存储8+16 = 24个byte。 16KB/24byte ~= 682次。 也就是说大概保存682次后,Virtual Sector 1就被写满了。(当然,如果考虑overhead的话,次数会比682少一些。) FEE driver会自动切换到Virtual Sector 2, 并把Virtual Sector 1 全部擦除。 切换过程中,FEE driver会保留最后写入的[时间]和[地点]的值到Virtual Sector 2。 对于TMS470的FEE driver,还有一个叫做"Maximum Number of Links”的参数,这个参数是用来更加快速的切换Virtual Sector时使用的。 如果你打开driver的代码就会发现,让Driver去检查是否Virtual Sector已经写满的速度比较慢,而如果用户指定这个Link的数字的话,(Link最大只能设置256...) Driver 判断是否要切换Virtual Sector的速度会比较快一些。 如果您对操作速度要求不高,那么Max. Link参数可以设置成0,这样就不会检查Link数了。 |
|
|
|
testd27 发表于 2018-6-21 08:42 关于Warning,我这里看到有3类: 1. 关于.sysmem的warning,应该只有一条,这个warning是因为FEE driver中使用到了heap,但是默认的链接选项中没有分配heap空间。 解决它可以在[项目属性]->[Build]->[ARM Linker]->[Basic Option]中加入Heap的长度设置,如0x800。 或者在对应的.cmd文件中设置也可以。 2. "*** variable is declared but never used" warning,这类警告是因为local变量没有被使用到,主要是因为ECC功能的宏命令开关问题。 如果您有时间,可以在这些变量声明的地方也加入宏开关。 3. “ enumerated type mixed with another type”是因为代码中给某些枚举类型的变量赋值了整数值造成的,逻辑上没有错误,如果不希望看到warning,可以在赋值的整数类型前面做类型转换。 |
|
|
|
只有小组成员才能发言,加入小组>>
336 浏览 1 评论
529 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
774 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
651 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1130 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
56浏览 29评论
137浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
252浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
201浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
57浏览 13评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 06:34 , Processed in 0.673895 second(s), Total 82, Slave 66 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号