历史上的今天
返回首页

历史上的今天

今天是:2024年10月15日(星期二)

正在发生

2019年10月15日 | stm32f103串口BootLoader

2019-10-15 来源:eefocus

因为在论坛和官网都没搜到完全合适的BootLoader,所以自己移植完成了一个BootLoader工程。另外附APP文件工程,可做实验。用良心保证,看完后可以做一个成功的实验。

上位机选用SecureCrt,单片机用的stm32f103vet6。
 
首先搞清楚BootLoader过程步骤,代码可以再根据自己需要修改:

步骤一:初始化IO口,初始化uart串口,初始化定时器等等

步骤二:进入BootLoader选择界面,如果选择1是烧写程序,然后用上位机发送ymodem格式的bin文件。(bin文件就是应用程序的编译后的二进制代码),发送完成后,单片机已经把它存进flash中一块区域,并跳转运行此区域。

步骤二:进入BootLoader选择界面,如果选择2是直接跳转到应用程序区。

步骤二:进入BootLoader选择界面,如果不选择,不做任何操作,3秒后直接跳转到应用程序区。

实际SecureCRT效果图:
 
补充:bootloader占用整个flash的前0x000-0x3000空间,从flash的第0x3000空间开始存的是应用程序。

BootLoader和app分别建立两个工程,那么在app工程中需要修改中断向量起始地址为0x3000,和keil的target的IROM1,然后编译得到bin,怎么在keil得到bin?在user中fromelf.exe --bin -o "$L@L.bin" "#L"
 
我是这样做的暂时没有发现问题,编了几个简单的APP程序(流水灯,外部中断等)测试没有问题。也请有兴趣的朋友提出补充和纠正。

推荐阅读

史海拾趣

Flexxon Pte Ltd公司的发展小趣事

随着电子行业的不断发展和市场需求的日益多样化,Flextronics(Flexxon Pte Ltd)开始实施多元化战略,积极拓展新的业务领域。公司不仅继续深耕消费电子、通信设备等传统市场,还积极涉足汽车电子、医疗电子、物联网等新兴领域。通过并购、合作等多种方式,Flextronics不断拓宽产品线和服务范围,为客户提供更加全面和专业的解决方案。这一战略调整不仅为公司带来了新的增长点,也进一步提升了公司的市场竞争力。

AR RF/Microwave Instrumentation公司的发展小趣事

随着公司产品的不断完善和升级,AR RF/Microwave Instrumentation开始积极拓展市场。他们不仅在国内建立了广泛的销售网络,还积极寻求与国际合作伙伴的合作。通过与国外知名企业的合作,公司不仅引进了先进的技术和管理经验,还进一步提升了产品的国际竞争力。

FARNELL公司的发展小趣事

为了保持在电子行业中的领先地位,FARNELL公司积极寻求创新与合作。公司与多家知名电子元器件制造商建立了长期合作关系,共同研发新产品、新技术。同时,FARNELL公司还致力于为客户提供定制化的解决方案,满足不同客户的需求。这种创新与合作的精神使FARNELL公司在电子行业中保持了持续的发展动力。

C&K Switches公司的发展小趣事

2022年,C&K Switches公司被Littelfuse以5.4亿美元的企业价值收购。Littelfuse是一家工业技术制造公司,致力于打造一个可持续、互联和更安全的世界。两家公司在工业、通讯以及车载领域有着相近的市场布局和业务高度互补。收购完成后,C&K成为Littelfuse电子业务部门的一部分,双方共同为客户提供更全面的解决方案。这一收购不仅加强了C&K的市场地位,还为其未来的发展注入了新的活力和机遇。

国产公司的发展小趣事
使用万用表等工具测量电路的静态工作点,确保各元器件工作在正常范围内。
Glorious Sources Co Ltd公司的发展小趣事
对于视力受损的人群,可听式光探测器电路可以作为一种辅助工具,帮助他们感知环境中的光线变化。

问答坊 | AI 解惑

89c51和Pc机用9600的波特率调不通是怎么回事?

我用的是stc89c51,波特率设置为1200,pc波特率也做成1200时可以和pc机的软件传数据,可是换9600的波特率就不行了? mcu初值1200时是0xe6,pc初值0x60 mcu初值9600时是0xfd,pc初值0x0c…

查看全部问答>

PC机给51单片机发字符串的问题

今天试了下PC通过串口发数据给51 (字符串,即多个字节) 有些问题, 以下是我的一些猜想 1.因为51的串口接收中断是在收到一帧后将RI置位请求中断,所以发送多字节至51时,51要产生多次中断才能接收完. 2.在PC中,我所知道的是操作系统会为每个串口开一 ...…

查看全部问答>

请问谁有《C8051F系列单片机开发与C语言编程》?

请问谁有《C8051F系列单片机开发与C语言编程》?可否给小弟传一下,谢谢!…

查看全部问答>

我可以解决芯片的焊接问题

我可以焊接芯片CP2102,我觉得是件很容易的事,如果谁需要焊接,我很乐意帮忙。我的QQ;724791682       724791682@qq.com…

查看全部问答>

STM32的GPIO输出SPEED怎么设置?

如题, 假如我实际的输出速度与设置的不符会产生什么结果? 另外,当设置成输入时,怎么设置是上拉,怎么设置是下拉?…

查看全部问答>

IIC通信

 我是单片机的入门者,最近在学STM32,想用IIC通信实现对AT24C02EEPROM的读写,但是程序调来调去产生不了应答信号,附上源程序,请各位大牛帮忙看一下~~~万分感激~~~!!                 & ...…

查看全部问答>

关于串口通信模块的一个弱问题

USART有异步通信和同步通信功能,USCI还多个I2C功能,既然这样干嘛还要USART这个模块啊?…

查看全部问答>

数据包修改

请问一下,TI协议栈是否允许我们修改相应程序实现“路由节点再转发数据包的时候,将自身的地址也加入 数据包内,成为数据的一部分,然后发给协调器”,这样协调器就获得路由路径了…

查看全部问答>