我采用SCI方式烧录程序,并且是纯软件方式,不需要通过拨码和复位。我看官方例程f28035_flash_kernel里面就有这样的功能,但是我对这个例程有些疑惑,我是要如何利用f28035_flash_kernel这个例程才可以实现SCI烧录呢?
mangui zhang:
通过SCI烧写 下载C2Prog 连接SCI就可以烧写了啊
这个工程和显示SCI烧写没关系吧
我采用SCI方式烧录程序,并且是纯软件方式,不需要通过拨码和复位。我看官方例程f28035_flash_kernel里面就有这样的功能,但是我对这个例程有些疑惑,我是要如何利用f28035_flash_kernel这个例程才可以实现SCI烧录呢?
Eric Ma:
f28035_flash_kernel 是利用GPIO34,GPIO37设置的串口引导方式,然后通过ROM中的SCI BOOT将f28035_flash_kernel从PC端加载到RAM中运行,然后kernel运行后接收串口发过来的应用程序的数据进行flash操作。
如果你不想通过配置IO口或复位,那只能用于在线升级,如果是空片,则必须配置IO口并复位或上电。
如果用于在线升级,则可以把flash kernel烧写到某一个扇区,然后你在应用程序想办法跳转到这里。
Eric
我采用SCI方式烧录程序,并且是纯软件方式,不需要通过拨码和复位。我看官方例程f28035_flash_kernel里面就有这样的功能,但是我对这个例程有些疑惑,我是要如何利用f28035_flash_kernel这个例程才可以实现SCI烧录呢?
user5370101:
回复 Eric Ma:
那请问 例程里用VS 写的 serial_flash_programmer.exe 和 flash_kernel的使用方法是什么 因为flash_kernel 会有返回值 怎么根据返回值判断数据流的发送
我采用SCI方式烧录程序,并且是纯软件方式,不需要通过拨码和复位。我看官方例程f28035_flash_kernel里面就有这样的功能,但是我对这个例程有些疑惑,我是要如何利用f28035_flash_kernel这个例程才可以实现SCI烧录呢?
user5370101:
回复 Eric Ma:
请问 flash_kernel里的 自动检测波特率 是用串口助手先发一个字符 'a'吗, 我用的是串口助手调试器, 9600 波特率 发现 通过串口传过去的数据没有完全的写入flash 有一些丢失了。 请问是什么原因。
我采用SCI方式烧录程序,并且是纯软件方式,不需要通过拨码和复位。我看官方例程f28035_flash_kernel里面就有这样的功能,但是我对这个例程有些疑惑,我是要如何利用f28035_flash_kernel这个例程才可以实现SCI烧录呢?
user5078094:
回复 Eric Ma:
那用f28035_flash_kernel还是需要切换配置IO口的跳线操作,是吗?也就是说用SCI BOOT模式向Flash中烧写完程序后,还是需要跳线到FLAH启动模式,复位重启,对吗
我采用SCI方式烧录程序,并且是纯软件方式,不需要通过拨码和复位。我看官方例程f28035_flash_kernel里面就有这样的功能,但是我对这个例程有些疑惑,我是要如何利用f28035_flash_kernel这个例程才可以实现SCI烧录呢?
Eric Ma:
回复 user5078094:
这个flash kernel是ROM里面的那个,ROM里面的那个SCI boot是需要配置GPIO来进入这种模式,让它跳转到Flash kernel的代码。
我的意思是,你可以参考flash kernel的思想,然后自己把这部分代码放在flash里面,用来做升级,这就不需要GPIO配置。
我采用SCI方式烧录程序,并且是纯软件方式,不需要通过拨码和复位。我看官方例程f28035_flash_kernel里面就有这样的功能,但是我对这个例程有些疑惑,我是要如何利用f28035_flash_kernel这个例程才可以实现SCI烧录呢?
user5078094:
回复 Eric Ma:
flash_kernel 例程中,为什么需要对上位机接收的数据进行拆分,拆分为每次最多接收1K,是谁在限制? 是内存空间不足,还是因为后面FLASH烧写API一次最多烧写1K的数据?
我采用SCI方式烧录程序,并且是纯软件方式,不需要通过拨码和复位。我看官方例程f28035_flash_kernel里面就有这样的功能,但是我对这个例程有些疑惑,我是要如何利用f28035_flash_kernel这个例程才可以实现SCI烧录呢?
Eric Ma:
回复 user5078094:
“flash_kernel 例程中,为什么需要对上位机接收的数据进行拆分,拆分为每次最多接收1K,是谁在限制? 是内存空间不足,还是因为后面FLASH烧写API一次最多烧写1K的数据?”
Eric:
主要是内存问题吧,如果存储空间大,你接收更多的数据也是没有问题的。