自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 手搓UDS Bootloader系列——网络层(TP层)

这一篇内容,主要讲解了UDS的网络层,以及代码如何实现首帧和连续帧,并且对功能进行了简单的测试。下一篇内容将先实现34服务,本着先实现再完美的原则,通过搭积木的方式实现UDS Bootloader的开发。感兴趣的小伙伴可以加我微信公众号:行至汽车电子(XZJZLN),会及时推送文章。

2025-04-30 09:03:30 860

原创 手搓UDS Bootloader系列——CAN通信和定时器

诊断报文我们是需要全部接收的,不能出现丢帧的情况,如果出现丢帧则会导致诊断错误,例如:36服务在传输数据时,控制器会判断第一个字节(20~2F)是否按照顺序,如果出现跳变需要控制器进行负响应处理。网上关于UDS的博文特别多,铺天盖地,如果想了解UDS是什么,各个服务的请求报文格式,可以参考。本次内容,主要是为后面的手搓UDS Bootloader做准备,我们后面的章节会先实现34 36 37服务,可以参考我前面的基于串口做的Bootloader,以后也会将两部分合在一起,通过上位机可以选择通信方式。

2025-04-14 16:54:39 884

原创 刷写上位机系列——使用Deepseek解析hex文件

随着AI的不断发展,我们的很多工作都可以交给AI来实现,例如我想使用QT创建一个槽函数,实现什么功能,以前的做法是打开百度一顿搜,然后找到一篇可以参考的不付钱还不能看。AI的出现就可以大大缓解这种尴尬,甚至可以直接给我们写代码,代码质量有时候还很高。这次内容我们就使用Deepseek,让它给我们写一个功能,用来解析hex文件,为后续上位机发送数据做准备,也可以用来解析bin文件,s19文件等。

2025-03-23 16:11:36 901

原创 刷写上位机系列——QT新建工程配置串口

很多我们熟悉的程序也是使用QT开发的,我使用QT开发过很多上位机,例如ADAS中雷达和摄像头目标显示的上位机、固定场景中雷达报警上位机、物流中采集物体形状的上位机等,后面会一一分享。在配置界面中设计串口配置内容和CAN配置内容,串口配置包括通道、波特率、停止位、数据位和校验位,CAN配置包括设备、通道和波特率。新建一个QT工程,上位机可以配置串口参数,并且能发送接收串口数据。添加完运行程序,QT上位机如下图,有4个图标 ,实现4个功能,下一步设计配置按钮调出配置的界面,并且将串口信息进行显示。

2025-03-22 10:16:16 701

原创 STM32F103的Bootloader开发——下位机(三)

前面两节的内容已经可以实现串口boot下载了,其实还有很多需要完善的地方,这节内容打算把串口下位机的内容结束了,该分享同样重要的内容上位机了。本着先完成后完美的原则,本节就讲一下如何让下位机状态机看着更健壮一些,可能还有更完美的解决方案,就不一一展开了。其实串口下载就是能把APP下载进去就可以了,很多bug是在调试使用过程中发现的,例如如何能不断重复刷写,如何在程序没有下载成功时不执行跳转APP等等。

2024-12-28 15:43:14 967

原创 STM32F103的Bootloader开发——下位机(二)

这一节已经基本把刷写的核心内容写出来了,虽然有bug,但是能升级,我们就算Boot的V1.0版本。我们后面会不断完善,不断的加内容,让它更健壮。工作之余也为了能提高自己,不断总结,不断学习,希望自己能坚持下去,出优质内容。假如你正在写Boot,我觉得这几节内容能看懂的话,写出一个能刷写的boot完全不是问题。有不明白的可以随时给我留言,看到留言一定会跟大家互动。等串口升级的搞的好一点,CAN传输移植一下就好了,我们会慢慢的讲到基于UDS的Bootloader。

2024-12-20 21:42:25 1712

原创 STM32F103的Bootloader开发——下位机(一)

这些指令性的报文需要上位机和下位机采用一问一答的方式进行,此外Bootloader还需要能接收升级APP时的报文数据,并且保证接收到的数据准确无误,这样才能保证写进Flash的值是正确的。这一小节先把接收的串口搞定,做到不丢帧。具体空闲中断中的含义等待下一小节再细说,至此串口的中断函数已经做完了,下面就可以做测试了,使用串口上位机发送串口数据,调试器观测里面的变量是否正确,接收中断和空闲中断是否正常。自己手写的内容,还不是很完善,写的也不好,但是都是自己的心血,希望大家能喜欢,也欢迎能交流。

2024-12-17 20:49:38 2364

原创 STM32F103的Bootloader开发——Boot跳转至APP

Boot很大的一个作用是用来跳转至APP,在汽车行业中,控制器Boot开发跳转至APP之前会检验程序有效性是否存在(一般为固定的4个字节的地址),此外信息安全还会要求安全启动,都是在Boot跳转之前做文章。我们目前使用到的仅仅是Boot在某个状态持续10秒,如果10秒之内没有收到升级内容,就会自动跳转至APP,APP会发送一个串口数据给到上位机,来检测是否跳转成功。以上就是今天分享的内容,验证了Boot跳转至APP的有效性,这个步骤特别重要,否则Boot就没有什么作用了。有任何问题可以与我随时交流。

2024-12-15 12:35:23 2027

原创 STM32F103的Bootloader开发

STM32F103 Bootloader开发

2024-12-14 21:06:11 1875

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除