那么,我的问题来了!28335的Flash问题
目前,可以使用PC机上prog2软件烧写28335的Flash,只要配置好启动模式就可以;还可以在CCS中烧写Flash,配置好cmd文件即可;
现在我的需求是:不通过PC机,通过远程的网络摄像机的串口烧写28335的Flash程序,这样会更方便调试,该如何读写Flash呢?
在网上看到这样一句话:FLASH存储器由8个32K×16位扇区组成,用户可以对其中任何一个扇区进行擦除、编程和校验,而其他扇区不变。
@zhuchunhua0128 @zhangmangui @sllgy @天空的泡泡 好像和28335 Flash API有关。。。。不太懂大牛求指教! 具体没有用串口烧写过 看到网上有人分享过相关操作
zhangmangui 发表于 2014-11-20 23:33 static/image/common/back.gif
具体没有用串口烧写过 看到网上有人分享过相关操作
我说了,不是用PC的串口烧写的,人家说可以使用28335 Flash API什么的。。。 没人会么? 已经找到思路,大致看了一遍28335的 flash api文档,可以在正常的程序中加入flash api函数,通过28335 SCI串口读取外部指令,如果读到烧写flash指令,使用flash api函数烧写flash扇区,烧写完毕后复位28335. 恭喜,你找对了方向。提醒一下,28335 进入 flash 操作之前,关闭所有中断。 jing43 发表于 2014-11-30 00:14 static/image/common/back.gif
恭喜,你找对了方向。提醒一下,28335 进入 flash 操作之前,关闭所有中断。
多点提醒呢?这个我知道,嘿嘿! 好吧,全给你,就这么多内容:
FLASH api 运行在 RAM 中,
操作 FLASH 时不要使用任何中断,
通信时数据做坚固一点,确保数据的正确性,
FLASH 的每一位都可以从 1 写到 0,但不可以从 0 写到 1,要想从 0 写到 1,把这一个区都擦写一遍(所有位全为 1)。 本帖最后由 scottly 于 2014-12-1 10:10 编辑
jing43 发表于 2014-11-30 11:25 static/image/common/back.gif
好吧,全给你,就这么多内容:
FLASH api 运行在 RAM 中,
操作 FLASH 时不要使用任何中断,
好吧,我承认这个看过手册后也明白了,再请问下,Flash API中的函数用来烧写Flash,请问代码应该如何组织呢?
比如,我用官方API例程(程序烧在flashA,运行时调到RAM运行)烧写一个简单的led程序到FlashB,可以正常的烧写,但是程序启动时 任然启动的是FlashA中Flash api的程序,而不是FlashB中的led程序,这个怎么解决呢?
如果我把led程序烧到FlashA,则Flash API程序就会被覆盖掉,我测试过,后续的烧写led就不能继续了。。。求指教
下面的是官方例程CMD文件
这个问题已经超出了 FLASH API 的范围了。
程序的启动,是从固定地址开始的,那个地址可能就是 codestart ,那个里一般放入 B xxxxxxxx 跳转指令,
你虽然写了 FLASH B,但是程序的第一条指令并没有被修改。 jing43 发表于 2014-12-1 19:53 static/image/common/back.gif
这个问题已经超出了 FLASH API 的范围了。
程序的启动,是从固定地址开始的,那个地址可能就是 codestart...
那肿么办啊?有什么好的解决办法 可以二次引导的 28335上具体没搞过 zhangmangui 发表于 2014-12-2 10:31 static/image/common/back.gif
可以二次引导的 28335上具体没搞过
你好,请问你说的二次引导这么做呢?可以给我点建议么?
特别是CMD文件如何写呢
页:
[1]