![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
文章平均质量分 69
爱就是恒久忍耐
纸上谈来终觉浅,绝知此事要躬行
展开
-
ThreadX中使用信号量(基于启明欣欣开发板)
ThreadX中使用信号量原创 2024-08-18 17:18:48 · 464 阅读 · 0 评论 -
启明欣欣STM32开发板运行ThreadX
启明欣欣STM32开发板运行ThreadX原创 2024-08-18 10:00:35 · 961 阅读 · 0 评论 -
树莓派3B读写EEPROM芯片AT24C256
使用树莓派3B读写EEPROM芯片AT24C256原创 2024-06-30 14:22:13 · 813 阅读 · 0 评论 -
香橙派AIpro测试SPI通信
在香橙派AIpro上测试SPI通信原创 2024-06-15 13:57:16 · 443 阅读 · 0 评论 -
香橙派AIpro运行OPCUA服务器和DDS
本文讲述了如何在香橙派AIpro上运行OPCUA服务器和DDS,可以看出香橙派AIpro运行OPCUA服务器和DDS毫无压力,整体性能很强,用于工业控制完全没有问题,就是系统可能要改成实时的,毕竟工控领域讲究稳定。散热不好,应该是芯片性能太强造成的,功耗高,即使开着系统什么也不做,也会发热厉害SSH连接有时会有迟钝,输入了命令要过几秒才会显示,应该也是和温度过高有关。原创 2024-06-06 10:59:58 · 605 阅读 · 0 评论 -
STM32CubeMX重新生成代码时如何避免用户代码被覆盖
STM32CubeMX对于在STM32芯片上开发程序非常方便,但是有时发现:使用STM32CubeMX生成keil工程后,在这个工程上开发了一段时间,然后又有外设需要配置,这时使用STM32CubeMX打开MX工程开启外设,最后重新生成keil工程,打开后发现之前的代码都被覆盖了。如何避免覆盖呢?打开Keil工程里的main.c,如下,可以发现里面很多注释,只要在“USER CODE BEGIN xxx”和“USER CODE END xxx”之间添加代码,那么重新生成keil工程时就不会被覆盖,对于w原创 2024-06-01 12:41:34 · 902 阅读 · 1 评论 -
使用CMake交叉编译WiringPi
如何在项目里配合CMake交叉编译WiringPi原创 2024-03-10 15:56:55 · 1213 阅读 · 0 评论 -
PeakCAN连接到WSL2 Debian
把PeakCAN连接到WSL2 Debian里原创 2024-01-29 22:32:07 · 1281 阅读 · 0 评论 -
WSL2 Debian系统添加支持SocketCAN
WSL2 Debian系统添加支持SocketCAN原创 2024-01-28 15:11:59 · 1296 阅读 · 0 评论 -
通过定时器来体会实时系统的实时性
通过定时器来体会实时系统的实时性原创 2024-01-20 13:45:15 · 431 阅读 · 0 评论 -
Encoder和Resolver的区别
Encoder和Resolver的区别原创 2023-12-30 21:11:27 · 788 阅读 · 0 评论 -
启明欣欣STM32开发板移植FreeRTOS
移植FreeRTOS到启明欣欣板子上,并点亮LED原创 2023-01-19 21:17:42 · 2012 阅读 · 1 评论 -
启明欣欣STM32开发板闪烁LED实验
启明欣欣STM32开发板闪烁LED实验原创 2022-11-23 19:35:34 · 1418 阅读 · 8 评论 -
UART, I2C和SPI的比较
三者都是串行通信协议,如下图,原创 2021-03-29 21:33:06 · 513 阅读 · 0 评论 -
运动控制中的停
停原创 2021-02-26 10:05:03 · 1848 阅读 · 0 评论 -
运动控制中的Jerk
了解Jerk原创 2021-02-09 22:29:29 · 15325 阅读 · 4 评论 -
tmpfs小应用
tmpfs小应用简介tmpfs是linux下的一种文件系统,处于其下的文件都放置在虚拟内存里(内核的内部cache)。首先看下linux源码中Documentation/filesystems目录下tmpfs.txt中的介绍, Everything in tmpfs is temporary in the sense that no files will be created ...原创 2018-05-22 22:11:50 · 564 阅读 · 0 评论 -
精确制导 --- 把linux内核源码中需要的代码导入Source Insight
本文是受到这篇文章的启发:http://www.cnblogs.com/mouou/p/4599148.html 该作者使用shell编程,运行起来会比较耗时,所以这里使用C++按照作者思路重新编写一遍,提高效率,也算是练一下手。一 问题由来linux内核源码比较庞大,在导入到source insight时会非常耗时,而且导入后查看代码时也会遇到诸多问题,如函数的重复定义,软件崩溃等。而...原创 2018-07-23 22:08:04 · 3286 阅读 · 0 评论 -
CPU的内存地址空间
本文是对王爽老师的《汇编语言》1.15节的个人总结。一 具体内容一个嵌入式系统或PC系统中,都会有各种各样的存储器,如下所示, 这些存储器在物理上都是独立的,但在以下2点上都是相同的,都和CPU总线相连CPU对他们进行读或写的时候都是通过控制总线发出内存读写命令也就是说,CPU在操控它们的时候,把它们都当做内存来对待,把它们总的看作一个由若干存储单元组成的逻辑存储器...原创 2018-09-01 13:29:02 · 4049 阅读 · 0 评论 -
RTX支持的三种任务调度策略
一 综述RTX是Keil MDK自带的RTOS,支持三种任务调度策略,Pre-emptive scheduling,即抢占式调度Round-Roubin scheduling,即轮询调度Co-operative multi-tasking,合作多任务二 Pre-emptive每个task分配一个优先级,如果只采用Pre-emptive调度策略,那么这个优先级必须是独一无二的。tas...原创 2019-01-21 22:01:08 · 1323 阅读 · 0 评论 -
交叉编译Python3.6
如今python已经是一门非常流行的语言了。由于python的底层是C语言写的,所以只要对python源码进行交叉编译,那么python也可以运行在嵌入式平台下。一 准备主要需要以下几个东西Python3.6.8源码pcrezlib交叉编译器...原创 2019-03-09 13:49:16 · 9592 阅读 · 19 评论 -
CANOpen中SDO和PDO的COB-ID理解
CAN协议中原创 2019-05-03 11:33:20 · 13898 阅读 · 22 评论 -
STM32 CM3中APP和Boot跳转问题分析
本文讲CM4中如何实现程序跳转,对于CM3原理也是一样的(代码也是一样)。我们在CM4中原创 2019-06-22 11:34:45 · 3917 阅读 · 1 评论 -
I2C总线 --- 关键点理解
最近项目中使用到了I2C总线设备,这里就讲解一下对I2C总线的理解。本文只讲解关键部分的知识,相信只要理解核心知识就很容易弄懂I2C总线了。一 简介I2C总线是由Philips公司开发的一种双向二线制同步串行总线,只需要两根线即可在连接于总线上的设备之间传送信息。所谓的二线制就是指SDA(Serial Data)和SCL(Serial Clock)2根线。同步的概念后面再解释,这是一个很...原创 2019-09-21 22:54:26 · 1801 阅读 · 0 评论 -
交叉编译Nginx
Nginx是个高性能的http和反向代理服务器,应用非常广泛,使用C语言编写,故可以将其交叉编译,然后放到arm平台上使用,这样Nginx就可以在嵌入式linux里大放光彩。下面就讲述如何交叉编译Nginx。一 准备交叉编译平台:ubuntu16.04 64位目标平台:arm 32位 (对于64位操作方法也是类似)下载以下文件用于交叉编译:gcc-linaro-4.9.4-2017...原创 2019-09-28 00:12:08 · 4050 阅读 · 6 评论 -
为pcDuino构建启动镜像(基于pcDuino3 nano)
为pcduino3 nano构建启动镜像本教程是讲述如何为pcduino3 nano构建启动所需要的各种镜像:uboot,kernel,devicetree和rootfs。(使用TF卡启动) 一 环境搭建虚拟机搭建本教程使用 vmware player 14 + 64位 ubuntu16.04 搭建虚拟机,安装好虚拟机后安装vim。 然后安装以下依赖库 sudo a...原创 2018-05-14 22:24:59 · 2754 阅读 · 1 评论