2023年7月25日
摘要: 1:操作系统中挂起(suspend)和阻塞(pend/block)的区别如下: 一:挂起是一种主动行为,因此恢复也应该要主动完成;而阻塞则是一种被动行为,是在等待事件或资源时任务的表现,你不知道他什么时候被阻塞(pend),也就不能确切知道他什么时候恢复阻塞。而且挂起队列在操作系统里可以看成一个,而 阅读全文
posted @ 2023-07-25 21:44 lance9527 阅读(314) 评论(0) 推荐(0)
  2023年7月18日
摘要: 1. esp32-kit板 烧录nuttx.bin,在nuttx.bin的路径下执行 esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 115200 --before default_reset --after hard_reset write_f 阅读全文
posted @ 2023-07-18 23:14 lance9527 阅读(264) 评论(0) 推荐(0)
  2023年7月7日
摘要: 位域结构体成员越靠下的,越处于内存高位 / 高地址; ':' 是c中位域的运算符;而 '::' 是c++的运算符; 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提 阅读全文
posted @ 2023-07-07 13:25 lance9527 阅读(53) 评论(0) 推荐(0)
  2023年6月19日
摘要: 1、 #if (AAA && !BBB && !(defined(CCC))) #error " 1 " #endif 注:如果AAA的宏值为非0值,BBB的宏值为0值 且 define 了CCC宏(CCC不论是空宏还是任意数值的宏,这里的作用都等效),那么就会输出错误打印 1 #define __ 阅读全文
posted @ 2023-06-19 13:24 lance9527 阅读(69) 评论(0) 推荐(0)
  2023年6月15日
摘要: 详细配置:LIN模块涉及mcu port irq lin 这4个模块 mcu 中需要配置如下 port 中需要配置如下:使用EVB板上资源LIN1, PORT15 的 pin0 和 pin1 irq 中需要配置发送,接收,错误 这三个中断 lin 中配置如下:使用控制器1,波特率19200, 阅读全文
posted @ 2023-06-15 17:18 lance9527 阅读(610) 评论(0) 推荐(0)
  2023年6月8日
摘要: ADC驱动程序负责提供指定的AUTOSAR标准模数转换服务,使用逐次逼近寄存器(SAR)原理将模拟输入值(电压)转换为离散数字值;涉及 MCU GTM ADC这3个模块。 container:GtmTomChannelConf container:GtmTriggerForAdc container 阅读全文
posted @ 2023-06-08 18:05 lance9527 阅读(984) 评论(0) 推荐(0)
摘要: CAN的配置涉及can port mcu irq 这4个模块 上图是配置can的关键,把CanHwObjectCount和CanHwFIFOThreshold全改成2,之后就可以将接收ID的上限由标准帧转为扩展帧; 配置的接收ID会对应一个发送端的发送id,起到过滤的作用,比如can卡想发ID=10 阅读全文
posted @ 2023-06-08 17:52 lance9527 阅读(3054) 评论(2) 推荐(0)
摘要: eht的配置只涉及eth mcu port 这3个模块,实际的工作会使用irq和dma,但这两个模块已经集成到MCAL的驱动代码中了,用户无需配置,只需要注意自己在使用dma和irq时不要和eth代码中使用的重复即可,具体eth驱动中irq和dma的使用情况,用户撸代码吧。 mcu配置如下: 涉及到 阅读全文
posted @ 2023-06-08 17:34 lance9527 阅读(534) 评论(0) 推荐(0)
  2023年5月3日
摘要: gcc学习笔记 1. 由c源码到可执行文件的过程,宏观上叫 编译,这个宏观的编译又可以分解为四个子过程,分别是 预处理 汇编 编译 链接,子过程的编译和宏观的编译不是一个概念。 宏观的编译工具就叫 gcc 或 arm-none-eabi-gcc,子过程分别对应不同的参数。 参数: -o 输出文件,后 阅读全文
posted @ 2023-05-03 22:05 lance9527 阅读(246) 评论(0) 推荐(0)
  2023年4月22日
摘要: 1:bootloader有2个概念,一个是由芯片厂固化到芯片flash中指定区域的代码(stm32称这段为系统启动区,tc397称这段空间为BROM,这片区域的代码执行需要硬件boot-pin的配合,以stm23为例boot1-pin= 0;boot0-pin =1之后在芯片复位后就不会从flash 阅读全文
posted @ 2023-04-22 16:16 lance9527 阅读(237) 评论(0) 推荐(0)