官方给出的ISP软件(串口烧录软件)FlashLoader Demonstrator不支持stm32l01系列的单片机那么我们怎么使用串口给这个型号的单片机通过串口烧录程序呢?
最近做了一个项目有这方面的需求,所以研究了一下这个方法,在此分享出来给有需要的人。准备工具只需mcuisp(也称flymcu)软件,串口助手
给懒人提供mcuisp软件mcuisp
经过我的试验mcuisp可以给这个单片机编程但是不能擦除这个芯片,后来我发现这个芯片的擦除指令不一样有兴趣的同学可以读一读这个文档AN3155 (USART protocol used in the STM32 bootloader)去度娘搜。
所以我们现在的任务就是想办法擦除这个芯片然后通过mcuisp这个软件下载进去(我的想法就是已经有了的工具知道原理后直接拿来用也无妨),AN3155资料里详细介绍了每个指令的用法,我们主要读擦除指令部分
这个芯片支持Extended Erase Memory Command,但是它不支持这个指令里的高级指令,所以想擦除这个芯片必须用最麻烦的那个步骤。一页一页的进行擦除,我的这个芯片有16k flash每页有128b所以一共有128页需要擦除,如果一条一条的发指令最少需要129条指令发,所以我用Qt写了一个串口上位机帮助我完成这个繁琐的过程。Qt我用的还不是太熟练基本上是还没看到门槛的状态,在这里提供解决思路,如果有想借鉴的话在本帖下面回复我可以把主要代码共享出来。
另外我用的这个芯片支持用户自定义boot选项所以配合这个用着就更爽。选择boot区的代码如下:
void BOOTCONF_User() //判断系统从哪启动如果从systemflsh启动更改选项字节使其从 //Flash program memory启动
{
HAL_StatusTypeDef status = HAL_OK;
uint32_t tmp = 0U, tmp1 = 0U;
if (LL_SYSCFG_GetBootMode() == LL_SYSCFG_BOOTMODE_SYSTEMFLASH)
{
tmp = OB->USER & (~0XE000);
tmp |= (1u << 15);
tmp1 = (~tmp) << 16;
tmp |= tmp1;
HAL_FLASH_OB_Unlock();
status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE);
{
OB->USER = tmp;
FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE);
}
HAL_FLASH_OB_Launch();
HAL_FLASH_OB_Lock();
}
}
void BOOTCONF_System()//接收到编程指令后怎么触发自己定义,让芯片进入system bootloader
{
HAL_StatusTypeDef status = HAL_OK;
uint32_t tmp = 0U, tmp1 = 0U;
tmp = OB->USER | 0X00E000;
tmp &= 0X00BFFF;
tmp1 = (~tmp) << 16;
tmp |= tmp1;
HAL_FLASH_OB_Unlock();
FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE);
{
OB->USER = tmp;
FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE);
}
HAL_FLASH_OB_Launch();
HAL_FLASH_OB_Lock();
}
上一篇:调通STM32的串口ISP的经验
下一篇:stm32j_link与串口下载几个问题
推荐阅读
史海拾趣
在发展过程中,DBM Optix也面临过不少挑战和危机。例如,某次全球供应链紧张导致公司原材料供应受到影响,生产进度一度受阻。面对这一挑战,DBM Optix迅速调整采购策略,积极寻找新的供应商,并加强与现有供应商的合作。同时,公司还加强了内部管理,优化生产流程,提高生产效率。这些努力使得DBM Optix成功度过了危机,并继续保持良好的发展势头。
Connect-Tech Products Corp公司始终将产品质量视为企业发展的生命线。公司建立了严格的质量管理体系,从原材料采购、生产加工到产品出厂,每一个环节都严格把控。此外,公司还注重持续改进,不断优化生产流程和技术创新,确保产品质量的稳定性和可靠性。这些措施使得Connect-Tech Products Corp公司的产品在市场上赢得了良好的口碑和信誉。
DAPAudio公司自成立以来,一直将技术创新作为公司发展的核心动力。在音频处理领域,DAPAudio率先推出了基于先进算法的数字音频处理器,其独特的音质优化技术迅速赢得了市场的认可。随着技术的不断迭代和更新,DAPAudio的产品逐渐在高端音频市场占据了一席之地。
随着全球对环保问题的日益关注,EPIGAP公司也开始注重绿色环保和可持续发展。公司积极采用环保材料和生产工艺,减少生产过程中的污染物排放。同时,EPIGAP还加大了对可再生能源的研发力度,推动公司向绿色、低碳、循环发展的方向迈进。这一战略不仅符合全球环保趋势,也为公司赢得了良好的社会声誉。
绿宝石公司自创立之初,便致力于电子材料领域的研发。某年,公司研发团队成功开发了一种具有优异性能的绿宝石电子材料,这种材料在高频、高温等极端环境下仍能保持稳定性能,为电子行业带来了革命性的变革。随着这一技术的广泛应用,绿宝石公司在行业内逐渐树立了技术领先的形象,市场份额稳步上升。
在电子行业的初期,Coiltronics公司凭借其独特的线圈技术,成功打破了市场格局。当时,市场上的电子线圈普遍存在效率低下、散热不良等问题,而Coiltronics公司则通过深入研究,开发出一种新型的高效散热线圈。这一创新不仅提高了电子设备的性能,还大大降低了故障率,使得Coiltronics的产品在市场上大受欢迎。公司凭借这一技术优势,迅速在电子行业崭露头角。
紧急求救《基于dsp的语音编解码技术的研究》要用G.711协议的 紧急求救《基于dsp的语音编解码技术的研究》要用G.711协议的谢谢各位大虾了!!!!!!!!!!!!!!!!!!!!!!!… 查看全部问答∨ |
|
本帖最后由 飞凌嵌入式 于 2010-4-29 08:38 编辑 其他TE6410资料请参考 www.witech.com.cn 1.安装linux 环境 安装Ubuntu Linux 系统,从网站上下载操作系统安装光盘映像,地址: http://mirror.lupaworld.com/ubuntu/release ...… 查看全部问答∨ |
我是联想ieadpad y430a 下安装 苹果10.5.7系统的,除了网卡和声卡都解决了,那位朋友知道 苹果系统下的下列驱动??分享分享呗。或者其他解决方案也行。先谢谢了! 网卡:Broadcom NetLink BCM5906M PCI-E Fast Ethernet 声卡 :conexant high de ...… 查看全部问答∨ |
我用的是PB5.0,默认生成的nk.nb0是32M,现在想把它容量扩大,修改了WINCE500\\PLATFORM\\At91sam9261ek\\Files下面的config.bib: ; Name Start Size Typ ...… 查看全部问答∨ |
|
提个建议----咱们这个论坛为什么不能转帖啊? 有时候看到好的帖子想收藏,只能点击 收藏 ,为啥不能转帖啊? 要是能转帖,转到自己的名下会更好吧。 个人建议,仅供参考。… 查看全部问答∨ |
设计资源 培训 开发板 精华推荐
- 答题有礼|一起学习 Mentor PCB 手册
- 2021 Digi‑Key KOL 视频系列:新型智能曝光算法在人脸识别中的应用
- 直播已结束【Molex 新能源汽车低压连接器解决方案】
- 详述项目申请,可获 TI Stellaris开发板!
- EEWORLD下载中心热力上线,岂能无礼!
- 报名有礼| Arm Tech Symposia 年度技术大会报名开启!
- 有奖直播:TI DLP® 产品赋能工业光控领域与创新
- 【EEWORLD大学堂】玩转LaunchPad及TI MSP430G2XX系列超值单片机!!!
- 有奖直播|使用 ModusToolbox® 构建系统,灵活应对物联网设计挑战
- 【赠书100%有礼】一本书教你如何开发测试系统,深入了解数据采集系统