新的芯片板子(TM4C123GH6PZ),连接PC后,LM Frash Programer 在Manual Configuration, USB DFU 中 可以看到。
写过芯片,LM Frash Programer则看不到。
观察来自PC的信息,写过的芯片的USB由Stellaris变成Gennerric Bulk,所以LM Frash Programer无法辨认。
LM Frash Programer无法辨认芯片,所以谈不上把程序写进去。
请教各位,如何 让LM Frash Programer辨认到已写过芯片,先谢了。
NgLT
Maka Luo:
LM flash programer 烧录程序的配置如下图,选择TM4C123G lunchpad,已经选择ICDI烧录方式。
你提供的图一表示USB没有驱动,你可以更新USB驱动程序。 如果你需要用USB更新程序的话,是利用USB bootload功能,需要确保芯片是空片或应用代码能识别USB并跳转到bootload。
lung tat ng:
回复 Maka Luo:
谢谢Maka回复,
本人用的是自己的板子,没有ICDI功能,之前的程序是用CCS写的,不知如何清空它,另USB bootload 还没弄懂,不知如何操作,所以有请指点指点,或提供一些链接学学怎么建立USB bootloader
谢谢了。
NgLT
Maka Luo:
回复 lung tat ng:
芯片ROM自带bootload功能,如果flash是空,当接入USB设备,会进去USB bootload 功能,即可以下应用程序。
但是如果flash不为空,那会执行应用代码,需要自己在应用代码去跳转。
具体例程在Tivaware example 有。
xyz549040622:
回复 lung tat ng:
只要是新的片子,装上usb的驱动后,用LMflash软件,直接就可以连上芯片进行下载就ok了。但是再次想要用usb下载的话,就得烧写boot了,tiva ware下有ek板子的例程,里面就有boot的例程。
lung tat ng:
回复 xyz549040622:
如此看来,每次修改程序,必须先清空flash,才可以用LMflash软件来下载,没有他法?
Maka Luo:
回复 lung tat ng:
分两个方面回答你的问题:
1.更新程序,当然需要先擦除flash,方能写入。
2.利用lm flash programmer 是可以用JTAG方式烧录程序,也支持Bootload更新协议。其实在这个过程也存在flash擦除动作。
lung tat ng:
回复 Maka Luo:
如果没有JTAG只用USB,对于烧录过芯片可以现实再烧录程序吗?
而全新芯片,用lm flash programmer 就可以了,对吧。
xyz549040622:
回复 lung tat ng:
对全新的芯片,直接用lm flash programmer通过usb和串口就可以连上下载。你第一次下载的时候,烧写自己写的boot程序,以后就可以通过usb或者串口再次下载了。
lung tat ng:
回复 xyz549040622:
谢谢苦行僧,
能否讲细一点,如何“写自己的boot程序”,我一直没走通这个。
请教一下,在boot_demo1.c中:
JumpToBootLoader(void)最后一句
(*((void (*)(void))(*(uint32_t *)0x2c)))();
是什么意思?没看懂。
谢谢。
Maka Luo:
回复 lung tat ng:
lung tat ng
谢谢苦行僧,
能否讲细一点,如何“写自己的boot程序”,我一直没走通这个。
请教一下,在boot_demo1.c中:
JumpToBootLoader(void)最后一句
(*((void (*)(void))(*(uint32_t *)0x2c)))();
//跳转到bootload的入口地址。
是什么意思?没看懂。
谢谢。