嵌入式
文章平均质量分 85
老孟的孟不是很老的孟
汽车行业基础软件工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
英飞凌 Tricore 架构中断系统详解
只有当新的中断的优先级大于组内最高优先级的时候,中断才会被打断。总结可知,Tricore支持更高优先级的中断打断当前正在执行的中断,但如果新的中断优先级更低,CPU是直接丢弃还是在当前中断处理完成后再进行处理,没有找到具体的依据,但手册中是这样说的:以上原因会block the CPU from immediately responding to the interrupt request generated by the ICU,也就是说不能立即处理,感觉应该是条件满足的时候还是会处理。原创 2023-09-27 17:02:08 · 6206 阅读 · 8 评论 -
NXP MCU CAN波特率(位时间)配置详解
1. 概述本文将会详细讲解如何设置NXP MCU的CAN波特率、位时间、采样点等属性。波特率即CAN总线传输频率,位时间是波特率的倒数,例如波特率是500K,那么位时间 = 1 / 500000 = 0.000002s = 2000ns。我们先来看一下S32K144单片机的EB中与CAN总线波特率相关的可配置参数有哪些:...原创 2022-01-20 12:02:09 · 9410 阅读 · 1 评论 -
NXP S32系列MCU官方AUTOSAR OS分析(一)
1. 概述我之前介绍过如何用Keil编译NXP官方提供的AUTOSAR OS,想要了解的朋友可以去翻一下之前的文章,本文来简要介绍下AUTOSAR OS的代码实现。我使用的单片机时S32K144,AUTOSAR的版本是4.0.32. 源码分析(1)StartOSStartOS()函数是AUTOSAR OS的入口,在main函数中做一些硬件和应用层的初始化,之后进入StartOS。在这个函数中,会对各种对象(Object)进行初始化,如Application、Task、Alarm、ISR、Time原创 2021-12-15 17:44:01 · 10144 阅读 · 0 评论 -
S32K1XX系列单片机 ——(2)用EB配置MCAL
1. 概述在下面的网址可以下载MCAL、OS和EBhttps://www.nxp.com/design/automotive-software-and-tools/autosar:AUTOSAR-HOMEEB和MCAL的安装我这里就不详细说了,网上有很多教程,本文着重说一下MCAL中Dio和Port模块的配置方法,以及如何在Keil工程中集成MCAL源代码和EB生成的配置代码。2. 新建EB工程新建时需要选择AUTOSAR版本:【注意:如果同时安装了多个版本的AUTOSAR,只有最高版本能被显示原创 2021-12-10 10:31:33 · 21272 阅读 · 13 评论 -
S32K1XX系列单片机 ——(1)开发环境搭建
本文介绍一下NXP S32系列单片机开发环境的搭建方法,分两种:S32DS和Keil。1. S32DSS32DS是NXP开发的一款IDE,编译器是GCC,支持Lauterbach、P&E和Jlink等调试器,集成了NXP芯片底层和一些中间层的SDK,还有AUTOSAR的MCAL可以免费试用。(1)安装软件下载链接如下:https://nxp.flexnetoperations.com/control/frse/download?agree=Accept&element=123670原创 2021-12-09 16:26:57 · 8421 阅读 · 8 评论 -
用Keil+CMSIS DAP调试NXP S32系列单片机时遇到的问题
(1)RDDI-DAP error我在Keil上用的是CMSIS-DAP调试器,SWD接口,最开始总是连不上,显示RDDI-DAP error,调了速率、Reset方式等都不好用,最终发现把连接调试器和单片机板子的杜邦线都掰开就好了。。杜邦线并在一起的时候容易互相干扰,产生通讯错误,分成一根一根的之后干扰会小很多。另外调试通讯速率要调低一点,10M有时就会有问题,1M/2M通常没问题。(2)调试引脚错误时连接Debugger的方法我在一次烧程序时,忘了把RESET引脚的用途设置成RESET,而是设原创 2021-12-09 16:23:09 · 9030 阅读 · 4 评论 -
英飞凌 AURIX Development Studio工程移植到Hightec的方法
1. 软件简介AURIX™ Development Studio是英飞凌针对AURIX TC2XX/TC3XX系列单片机推出了一款免费的软件,集成了iLLD库,内置Tasking compiler和Tasking Debugger,但这两个模块只能用于非商业用途,可供学习和试用。iLLD库是英飞凌为TC2XX和TC3XX Tricore系列单片机提供的底层驱动库,有完善的使用手册,和较好的移植性。Hightec是一款可以用来开发Aurix系列单片机的编译器,有免费版,可商用,集成GCC编译器,可用UDE原创 2021-11-20 18:57:43 · 6796 阅读 · 5 评论 -
常见安全算法(RSA、AES、MD5等)原理及实现和win10下OpenSSL库的使用
一、安全算法概述安全算法通常被人们分为对称加密算法和非对称加密算法两类。对称加密算法是指加密秘钥和解密秘钥相同的算法,即用什么加密就用什么解密,早期的安全算法均属于这一类。这类安全算法存在的最大问题就是密码不容易传递,如果在传递过程中被监听,那么该算法也就随之失效了。战争剧中经常出现的密码本就属于该类算法,消息发送方和接收方使用相同的密码本进行加解密,安全起见密码本通常需要定期更换,而传递密码...原创 2019-08-04 14:52:51 · 2185 阅读 · 0 评论 -
在树莓派4B上安装Ubuntu Mate 20.04 和ROS
本文介绍了在树莓派4B上安装Ubuntu和ROS的方法。已配置好的系统镜像可在公众号“汽车软件杂谈”后台回复“rpi4b img”获取。扫码关注:最近想在树莓派上装个ROS用来学习,但我的树莓派内存只有2G,有点捉急,前前后后试了好多种方法,终于找到一个能用的,在这里总结一下,供大家参考。一、关于Linux版本的选择1.尝试1 —— Ubuntu Desktop:因为对ROS支持得最好的Linux版本就是Ubuntu,所以最开始就是想着直接装个官方的带桌面的Ubuntu版本,也没多想就刷了,结果直接原创 2021-04-02 16:07:36 · 4584 阅读 · 3 评论 -
在树莓派4B上用uboot启动rt-smart
rt-smart的介绍和编译参考下面的官方文档:https://docs.rt-thread.org/#/rt-thread-version/rt-thread-smart/rt-smart-quickstart/rt-smart-quickstart按照文档中的方法,可以直接在SD卡上运行rt-smart,但这样每更新一次kernel都要插拔一次SD卡,很麻烦,所以可以采用uboot通过网线从tftp服务器远程加载固件的方式,从PC上把kernel下载进去。rt-smart的boot压缩包中就有编译原创 2021-08-19 11:26:38 · 1506 阅读 · 0 评论 -
英飞凌TC265双核单片机入门——点灯和发CAN(FD)报文
本文记录和总结了我学习英飞凌TC265这款单片机的历程,主要有以下内容:1.如何新建一个工程并使用英飞凌的iLLD底层驱动库;2.点亮一个LED灯(Ports的使用);3.发送CAN(FD)报文;4.用中断接收CAN(FD)报文;5.如何使用CAN网关模式。1.新建工程英飞凌针对Tricore系列单片机推出了一款免费的软件——AURIX™ Development Studio,集成了iLLD库,内置Tasking compiler和Tasking Debugger,但这两个模块只能用于非商业用原创 2020-10-19 16:47:23 · 12648 阅读 · 5 评论 -
英飞凌XC2000系列单片机FLASH加解密策略
本文以英飞凌 XC2365B 这款单片机为例详细讲述了XC2000系列 Flash 的加解密方法,例程代码可在“汽车软件杂谈”公众号回复 “FLASH加密”获取。概述XC2365 Flash 共 320KByte,分为两个模块:Flash0-256K,Flash1-64K,下文所提及的全局指包含全部的 Flash 模块。读写加密策略可以概括为以下四条,下文再详细展开: 读加密指不能对 Flash 中的内容进行读取,写加密指不能对 Flash 进行擦除和写入操作。读加密使能的时候,可以分别控原创 2020-12-31 16:47:46 · 2665 阅读 · 2 评论 -
英飞凌XC886单片机Flash读写总结
最近工作上需要对英飞凌XC886这款单片机的Flash进行读写,以下为简要的几点总结:一、Flash存储器结构:XC886共有32KFlash,地址映射如下图所示:共三块P-Flash用来存储程序,两块D-Flash既可用来存储程序也可以存储数据,每块D-Flash映射到两个不同的地址,如Bank1映射到6000-6FFF和B000-BFFF,通常存储程序的时候采用低地址,存储数据的时候采...原创 2019-07-15 17:25:01 · 6104 阅读 · 0 评论 -
英飞凌XC2000系列CAN BootLoader(CAN_BSL)的实现
一、英飞凌单片机BootLoader实现机制英飞凌多个系列的单片机都提供了BootLoader机制,即能够在不连接烧写器的情况下,通过CAN、UART等传输协议实现自身程序的更新,便于产品使用过程中软件的更新迭代。我这次用的是XC2000系列单片机,基于CAN实现BootLoader。关于实现机制,总的来说有以下几步:1.通过配置单片机的复位状态寄存器或外部与之相关的引脚,使单片机复位后进入...原创 2019-09-10 17:57:09 · 6483 阅读 · 16 评论 -
树莓派uboot启动rt-thread命令
dhcpDHCP方式没有固定IP地址,动态获取IP。命令:setenv bootcmd "dhcp 0x00100000 192.168.253.31:kernel7.img;dcache flush;go 0x00100000"saveenvboot0x00100000:本地存储镜像的地址192.168.253.31:tftp server的IP地址kernel7.img:镜像名dcache flush:刷新dcachego 0x00100000:跳转到镜像存储地址处运行tftp原创 2021-10-09 10:12:48 · 919 阅读 · 0 评论 -
杂七杂八的整理——STM32、Proteus使用、UART、IIC、SPI、LIN
把最近学习的一些杂七杂八的东西做一个整理。一、简要介绍两款单片机1.S32K系列单片机S32K系列单片机是NXP比较新的车规级单片机,ARM架构,有S32K11x和S32K14x两个系列。NXP就是恩智浦,之前收购飞思卡尔的那个,NXP为自己的单片机提供了集成开发环境——S32 Design Studio,安装步骤如下:1.在官网下载安装包,需要注册一个账号,按提示注册即可:https:...原创 2020-03-11 18:06:48 · 6387 阅读 · 0 评论 -
用STM32+OV2560自己做一个USB摄像头
手里有一块AT32的开发板和一个OV2640摄像头模块,因为做智能车模型需要一个摄像头,就想能不能废物利用一下,用这俩做一个即插即用的USB摄像头,能够直接用在树莓派的Linux系统上,而不需要在Linux上再另外开发摄像头驱动了。但真正做起来之后才发现,淘宝上几十块一个的摄像头开发起来竟然这么麻烦,涉及到了很多东西,完完全全是一个大坑,断断续续做了两个来月才总算实现了。期间一度想直接下单一个,又清晰又稳定,但想想还是不甘心,谁让当初就这么下手了呢。。o(╥﹏╥)o在本文中,我将从下面四个方面.原创 2020-12-31 16:59:34 · 16787 阅读 · 6 评论 -
汽车嵌入式软件面试问题整理
最近面了几场试,整理一下面试问题。面试问题中有一些能在网上比较方便的找到答案,我就不写如何回答了,对于一些非固定答案的问题,我会写一写我的理解,供大家参考。一、RTOS1. μC/OS中的Timer是如何实现的?2. 讲一下μC/OS中的消息队列和邮箱的原理和实现方法。3. 互斥量与信号量有什么区别?互斥量只能被申请一次,也就是只能有一个任务申请,但信号量可以定义一个初始值,比如定义为2,那么就允许有2个任务同时去申请,更加灵活。5. 移植μC/OS最主要or最难的工作是什么?对于单核RTOS原创 2021-03-19 11:06:21 · 9250 阅读 · 4 评论
分享