This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
IAP的目的就是为了当产品已经卖到用户手中,又需要对产品进行bug修正或升级功能时可以让用户自己进行烧录操作,这个功能是很重要的,且要求很高,必须傻瓜操作,说明书不能超过一张A4纸,不需拆机器,不需购买任何额外设备,一台电脑加一条手机数据线就搞定。
找了很久,TI官方似乎没有一个完整的例程应对这个需求,论坛里有不少讨论,基本都是关于bootloader这个东西,但bootloader始终逃不过两个问题:需要通过跳线改变启动方式,需要一个USB转串口的设备。
由于我用的芯片是28035,应该注定是不可能仅靠一条手机数据线就能烧录了,不过还好,我用28035只是控制电机,人机界面是STM32单片机,STM32有USB端口,同时STM32可以利用USB端口虚拟成串口,而28035又是和STM32通过串口通讯的,所以我很兴奋,很有可能将STM32临时作为USB转串口的工具,然后用一根手机数据线,让用户从人机界面直接对28035进行烧录。
可是研究了几天,发现TI的官方例程 f2803x_flash_kernel 依然需要靠硬件设置来改变启动方式,而且是先下载一个flash kernel到ram里面,然后靠flash kernel再下载应用程序。这意味着我的电路板需要设置一个开关以便改变启动方式,而且用户必须打开盖子去打开关(一般一个用户手里同时有几个到近百个产品,一个一个拆也是很麻烦的)。或许这还不算是大问题,真正的问题是,28035和STM32之间用RS485通讯,仅做成半双工模式,而SCI引导启动后的通讯,我想应该不支持半双工吧?也就是说,flash kernel程序无法靠单双工通讯下载。所以我只能考虑将自己做的支持半双工的flash kernel程序固化在28035中,由STM32发信息,当28035接收到烧录命令时,便将程序载入ram进行烧录。
虽然使用28035已经3年多,但是这种比较底层的应用还是一窍不通,官方的资料又少,基本没中文,STM32这方面的应用网上一堆资料,捣鼓几天就有完美结果,来这里发帖,希望得到TI专家的帮助,同时也是吐槽一下