玩转icp但带usb下载的isp固件不对

[复制链接]
3469|12
 楼主| hotpower 发表于 2010-10-23 17:55 | 显示全部楼层 |阅读模式
配置从ldrom启动,若无isp固件脱机不能运行程序,否则可以。说明是有固件的。但是在ldrom装载了三种不同的固件版本(1.08,1.10,1.20),isp应用程序都不能识别设备。在aprom的程序照常运行。难道俺辛苦抢到的开发板是坏的?还是usb坏了?望斑竹指点江山!否则要出人命了…哈哈,先谢谢了!
X-Hawk 发表于 2010-10-23 20:42 | 显示全部楼层
本帖最后由 X-Hawk 于 2010-10-23 20:48 编辑

ldrom中的isp固件大概是这个伪代码:

  1. if(pb15拉底)
  2. {
  3.      usb_init();
  4.      uart_init();

  5.      while(1)
  6.      {
  7.          if(usb_event)
  8.              do_usb_event();
  9.          if(uart_event)
  10.              do_uart_event();
  11.      }
  12. }
  13. else
  14. {
  15.     run_aprom();
  16. }
所以一定要pb15拉低
 楼主| hotpower 发表于 2010-10-23 20:49 | 显示全部楼层
谢谢斑竹,晕开始板子没考虑isp的问题,所有线都外接了,估计是面积或设计没考虑的问题。。
X-Hawk 发表于 2010-10-23 20:56 | 显示全部楼层
不客气。送的NuTiny板子,真的是朝着最简化的方式去考虑的。要测试isp, 需要手动接一下这个gpio。
 楼主| hotpower 发表于 2010-10-23 21:12 | 显示全部楼层
本帖最后由 hotpower 于 2010-10-24 10:25 编辑

再请教斑竹:根据伪代码,开机或复位后,由配置决定是否从ldrom或aprom运行动。假若从ldrom运行且pb.15=0,即进入isp状态。假若无usb或uart接入,此时程序走向?由于isp应用程序内有链接按钮,按键肯定有个间隙,那么应用程序一直轮询usb或uart的接入?没有超时处理?因为此时可能pb.15=1。所有超时处理,可能会防止误入isp的发生。或isp应用程序是否加个键或选择以断开isp的链接回到aprom运行。
 楼主| hotpower 发表于 2010-10-24 09:23 | 显示全部楼层
估计这个问题还需继续请教斑竹。
 楼主| hotpower 发表于 2010-10-27 07:42 | 显示全部楼层
对二楼斑竹isp伪代码的疑虑:
首先俺认为isp固件中应该将usb和uart分离。做成两个版本。
因为几乎没人硬件设计为两种方式的下载。
假若设计为usb下载,那么txd和rxd肯定做其他串口或控制io,那么isp固件就可能无法使用。
假若设计为uart下载,那么为何不借助于pc串口端的dtr和rts控制nuc1xx的reset和pb.15呢?
tg.liu 发表于 2010-10-27 08:15 | 显示全部楼层
7# hotpower

hotpower研究的比较深.
 楼主| hotpower 发表于 2010-10-27 09:35 | 显示全部楼层
主要从应用考虑,确实不实用,而且可能带来麻烦。
假若管脚不够,txd和rxd都被设计为非门驱动后的输入,isp固件初始化uart结果会如何?实际上链接总会失败的。
再者双路isp固件的空间也会增大,给以后的固件升级就有的余地也会减少。
俺认为分开是设计者早晚的事。
不过能将两者压缩在4K的空间里确实够牛的!
静默 发表于 2010-10-27 17:30 | 显示全部楼层
假若设计为usb下载,那么txd和rxd肯定做其他串口或控制io,那么isp固件就可能无法使用。
假若设计为uart下载,那么为何不借助于pc串口端的dtr和rts控制nuc1xx的reset和pb.15呢?

ISP中支持双模式升级(usb和uart)与单uart或单usb模式, 没多大关系,除非设计者想用LDROM中的剩余空间。
 楼主| hotpower 发表于 2010-10-27 17:55 | 显示全部楼层
这个理解绝对不是这样的,假若已设计用usb下载程序,uart肯定留做它用。
如gps或gprs等串口输入的模块。
伪代码初始化了uart,这个问题不大。
但若txd被用户做为输入,可能问题就就可能发生。仔细想吧。
tg.liu 发表于 2010-10-27 23:36 | 显示全部楼层
是啊, 如果IO存在冲突, 芯片可以运行异常.
新唐 发表于 2010-10-28 15:36 | 显示全部楼层
UART和USB两个一同放到4k是比较难,去掉一个应该易如反掌。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1460

主题

21617

帖子

508

粉丝
快速回复 在线客服 返回列表 返回顶部