nuttx 运行 sqlite 絮絮叨叨: 上一次写 NuttX 的文章还是在 2021 年,那时我接触 NuttX 的只有几个月,当时只写了一个很简单的如何编译一个 “hello world” 的代码。 现在参与 NuttX 开发已经快有三年的时间了,这段时间里对 NuttX 的了解程度已有很大不同,自己基于 NuttX 也做了一些项目,于是乎这个系列好像可以再更新一下了。 NuttX 简介NuttX 是一个具有丰富功能的、能 2023-10-14 #nuttx
C语言调用规约之函数入参顺序 结论 在 IA-32 平台上有三种入参方式,stdcall、cdecl、fastcall,前两种参数入参顺序均为从右至左压栈,fastcall 前两个参数使用寄存器,后面参数从右至左压栈。C/C++ 默认使用 cdecl 方式,MSVC 编译器默认使用 stdcall 。 x64 平台只有一种入参方式,即 fastcall 方式,前四个参数使用寄存器保存,后面参数后从右至左压栈。 A 2022-09-04
MCU自动下载原理及实现 串口自动下载电路实质为:上位机通过控制 USB 转串口芯片 DTR、RTS 引脚电平,配合硬件电路使进入芯片下载模式 自动下载原理串口下载的需要依赖 bootload,其流程为在芯片中先下载一个 bootload , 进入 bootload 后检查是否进入下载模式,如果未进入下载程序,则跳转到实际程序运行。 根据进入 bootload 的方式可分为两种,一种为进入 bootload 由外部引脚控制 2022-09-04
Protobuf文件的编写 介绍:数据从 SLPI 侧上报到 HAL 层,都需要从底层使用pb接口,将规定的数据格式 publish 上来,在HAL层再通过调用同样的数据格式的接口解析出数据。 数据格式的定义——Protobuf文件的编写 什么是Protobuf?Protobuf (Protocol Buffers) 是谷歌开发的一款无关平台,无关语言,可扩展,轻量级高效的序列化结构的数据格式,用于将自定义数据结构序列化成字 2022-09-04
STM32上使用POSIX接口 STM32上使用POSIX接口絮絮叨叨:如果不是博客粉丝,我都快要遗忘公众号这回事了,感谢所有认真阅读的读者的支持! FreeRTOS 和 POSIX 接口简介POSIX 接口的全称是:可移植性操作系统接口(Portable Operating System Interface, POSIX)。它是由电器和电子工程师协会(IEEE)开发的开放操作系统接口标准,并且得到 IOS 和 ANSI 的认可 2022-09-04
X86 寄存器及寻址方式 X86 寄存器及寻址方式絮絮叨叨:之前看的汇编都是 ARM Cotex M 系列,在调试任务切换时,不得不学习一下 x86 的汇编。 x86 寄存器列表inter i386 平台下寄存器包括 8 个 32 位的通用寄存器、8 个调试寄存器、6 个 16 位的段寄存器、4 个 32 位的控制寄存器等寄存器。 使用最多的时 8 个通用寄存器,EAX、ECX、EDX、EBX、ESI、EDI、ESP、EB 2022-09-04
gcov查看代码覆盖率 絮絮叨叨:想写的素材有很多,每次都是拖到最后也没写完,还是要多学习彭同学的 “先找软柿子捏” 。 GCOV 工具简介gcov是一个测试代码覆盖率的工具。 它是 gcc 自带的查看代码覆盖率的工具,无需额外安装,在嵌入式的 arm-eabi-none-gcc 中同样可以使用(需要重写部分系统函数)。 使用效果如下图所示: 程序运行完成后,可以查看每个文件的代码覆盖率情况,上面报告中展示了每个文件的 2022-09-04
mktemp 使用需谨慎,认真对待编译器警告 mktemp 使用需谨慎,认真对待编译器警告絮絮叨叨:今天在做一个文件缓存管理的时候,使用 mktemp 生成一个临时文件名,在编译时编译器提示我,该函数不安全,头铁的我还是使用了。 然后我就变成这样了 代码复现mktemp 的作用是根据传入的字符串模板,生成一个临时文件名。 char path[PATH_MAX] = "test_XXXXXX"; temp_tath = 2022-09-04
stm32L0使用arduino 絮絮叨叨:在做一个无线姿态传感器的小项目时,看中了 arduino 强大的第三方库,于是选型使用了 arduino 进行开发。可是在第一步时就踩坑了。。。。 问题简述我硬件使用 STM32L051K8U6 + NRF24L01 + MPU6050,准备用来做一个无线的姿态传感器。 在使用 arduino 对 stm32 时,烧录的 Demo 程序没有任何反应,而使用之前 keil 编译的程序则可 2022-09-04
stm32使用系统IO 系统 IO 和标准 IO系统 IO 一般指的是 Linux/Unix 系统调用中关于 I/O 操作的统称,其中包括 open、read、write、close 等操作。与系统 IO 对应还有标准 IO,标准 IO 是 ISO 标准中 C 语言标准定义的 IO 访问接口,例如 fprintf/fgets 等 C 语言标准中定义的文件访问接口。 在 Linux 系统中 o 2022-09-04