系列文章目录
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
TODO:写完再整理
前言
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!
嵌入式系统平台硬软件底层开发相关博客专栏:
https://blog.csdn.net/qq_35635374/article/details/138229695
本文先对嵌入式系统平台硬软件底层开发导读做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章
提示:以下是本篇文章正文内容
一、常用的操作系统专题
1、freeRTOS系统平台使用
介绍freeRTOS系统平台的使用,包括FreeRTOS的文件移植步骤和文件架构、FreeRTOS配置与剪裁、中断配置和临界代码段、任务(相当于ROS的节点)、FreeRTOS 列表和列表项的定义、初始化、插入、删除、遍历、FreeRTOS内核控制函数、FreeRTOS任务调度辅助API函数、FreeRTOS 时间管理、FreeRTOS 队列通讯、FreeRTOS信号量、FreeRTOS 软件定时器、FreeRTOS 事件标志组、FreeRTOS 任务通知、FreeRTOS 低功耗 Tickless 模式、FreeRTOS 空闲任务、FreeRTOS 内存管理
https://blog.csdn.net/qq_35635374/article/details/125768450
2、linux(ubuntu)系统实操
介绍linux(ubuntu)系统实操,包括用户开机、重启、登录、注销命令、Linux用户管理、常用文件操作指令、vi/vim编辑器的使用、shell脚本编程、PRM包、YUM包,apt软件管理、远程登陆、定时任务调度、磁盘分区挂载、网络配置、进程管理等等
https://blog.csdn.net/qq_35635374/article/details/121191051
3、linux(ubuntu)系统应用工程经验
介绍ubuntu系统应用工程经验
https://blog.csdn.net/qq_35635374/article/details/121227869
4、VMware虚拟机快照与克隆,保存系统运行环境
介绍虚拟机运行环境保存于切换的方法,VMware虚拟机快照与克隆,保存系统运行环境
https://blog.csdn.net/qq_35635374/article/details/132582915
5、MobaXtermSSH客户端远程连接
介绍MobaXtermSSH客户端远程连接及步骤
https://blog.csdn.net/qq_35635374/article/details/136052101
6、操作系统内核原理
介绍操作系统内核原理,包括内核程序和应用进程运行原理、进程管理、线程管理、进程线程调度机制、进程间的通信方式、内存管理、文件系统等等。这是计算原理基础
https://blog.csdn.net/qq_35635374/article/details/132663398
7、多进程、多线程编程应用层开发理论
进一步介绍多进程、多线程编程应用层开发理论及经验,包括
计算机基本原理:硬盘ROM和flash的区别、内存RAM的动态内存的申请(malloc、new)、释放(free、delete)与内存泄露、CPU线程和进程
进程与线程的管理:多线程的实现工具、同步与互斥概念、共享与通信、并发线程常见问题
https://blog.csdn.net/qq_35635374/article/details/131133580
8、Linux实现多进程、多线程
进一步介绍多进程、多线程编程应用层开发理论及经验,包括
计算机基本原理:硬盘ROM和flash的区别、内存RAM的动态内存的申请(malloc、new)、释放(free、delete)与内存泄露、CPU线程和进程
进程与线程的管理:多线程的实现工具、同步与互斥概念、共享与通信、并发线程常见问题
https://blog.csdn.net/qq_35635374/article/details/132029339
9、C++实现多进程、多线程
介绍C++实现多进程、多线程,包括线程的创建(线程同步并发的方法)、线程互斥加锁的方法(mutex)、异步线程future、共享与通信等等
https://blog.csdn.net/qq_35635374/article/details/132029314
10、代码实现一把读写锁
介绍读写锁的源码实现,包括读写锁的实现逻辑原理、读写锁的代码实现方法、读写锁的使用
https://blog.csdn.net/qq_35635374/article/details/132154214
二、通信方式专题
1、百度cyberRT和博世冰羚中间件介绍
机器人实时操作系统中间件
https://blog.csdn.net/qq_35635374/article/details/131499763
2、DDS数据分发服务
介绍DDS数据分发服务中间件,实现系统平台同一网络下不同设备及进程的话题通讯
https://blog.csdn.net/qq_35635374/article/details/134059856
3、网络通讯TCP/IP、TCP、UDP的区别
介绍网络通讯中TCP/IP、TCP、UDP的原理及区别,并提供实现源码
https://blog.csdn.net/qq_35635374/article/details/127755885
4、protobuf编码解码与通讯传输原理
介绍protobuf编码解码与通讯传输原理,参照调用接口做部署步骤的理解
https://blog.csdn.net/qq_35635374/article/details/134079665
5、键盘控制应用–通过键盘发送控制指令
以键盘控制发送控制小车指令为例,介绍USB设备通讯,提供源码实现辅助理解
https://blog.csdn.net/qq_35635374/article/details/133714440
6、joy遥控手柄通用Linux操纵杆的ROS驱动程序安装
以遥控手柄发送控制小车指令为例,介绍USB设备通讯,提供源码实现辅助理解
https://blog.csdn.net/qq_35635374/article/details/127396469
7、线性底盘控制–CAN协议通讯
https://blog.csdn.net/qq_35635374/article/details/123854870
8、【模块间通讯架构】导航系统中各个层次和模块间的数据隔离、共享与传递方法
介绍导航实时操作系统中各个层次和模块间的数据隔离、共享与传递的常用方法。包括在一个线程中通过C++(编程)语言进行传递、公共的common.h文件或.proto文件中进行传递、使用extern或者get()函数接口进行传递、线程间通讯、进程间通讯、设备之间通讯等等
https://blog.csdn.net/qq_35635374/article/details/121368265
三、文本读写
1、储存数据文本json的读写
介绍储存数据文本json的读写,包括json文本介绍、json文本的应用、json文本的操作
https://blog.csdn.net/qq_35635374/article/details/133750811
2、读写csv文件的C++实现
https://blog.csdn.net/qq_35635374/article/details/139478699
四、系统调试&代码优化方式专题
1、gdb操作系统开发的调试器
介绍操作系统开发的gdb调试器子不同环境中的部署,如ubuntu、vscode、ros等等
https://blog.csdn.net/qq_35635374/article/details/133747237
2、日志系统的搭建及代码debug方法
产品上线后,开发仍需要持续运维产品在不同业务场景下的表现情况何代码运行情况,以便发现并解决用户的问题。这就需要搭建日志系统、获取埋点打印信息、获取程序崩溃的堆栈信息,快速复现并定位解决问题。
本文介绍在在线与离线debug问题的工具与方法。不同的嵌入式系统平台有不同的debug工具,但是debug的思路都是大同小异的
https://blog.csdn.net/qq_35635374/article/details/127326897
3、常见的系统崩溃原因总结和解决方法
介绍常见的系统崩溃原因总结和解决方法,如
数组越界
使用指针变量不规范,导致的内存泄漏、踩内存而读崩溃
计算机动态内存不够,或内存管理分配的堆栈不够,申请不到内存导致程序无法执行
递归函数的退出条件出错,代码死循环导致并发死锁
大数据的拷贝发生错误
没有线程锁,导致访问共享资源冲突
线程临界区保护,优先级高的线程打断优先级低的线程,恰恰优先级低的线程对时间比较敏感
线程退出失败
https://blog.csdn.net/qq_35635374/article/details/132216947
4、查看linux的负载进程资源消耗
https://blog.csdn.net/qq_35635374/article/details/133359200
5、Linux系统性能、代码负载分析、代码性能优化
介绍Linux系统性能、代码负载分析及方法,包括linux性能查询指令与火焰图工具、代码性能优化
https://blog.csdn.net/qq_35635374/article/details/135149903
6、嵌入式软件开关机实现及数据保存与加载
介绍嵌入式软件开关机实现及数据保存与加载
https://blog.csdn.net/qq_35635374/article/details/129450971
7、使用gcc编译器和clang编译器的区别
介绍编译器的相关知识,包括gcc编译器和clang编译器的区别和部署步骤等等
https://blog.csdn.net/qq_35635374/article/details/133752519
8、工程中局部计时、全局计时、各个模块与系统时间同步的方法
介绍工程中局部计时、全局计时、各个模块与系统时间同步的方法
https://blog.csdn.net/qq_35635374/article/details/127396394
9、linux内存泄漏排查方法
https://blog.csdn.net/qq_35635374/article/details/139479036
五、硬件设计&电机控制专题
1、机器人通讯方式及组件选型
介绍机器人通讯方式及组件选型,包括电机驱动系统选型及依据或设计、电源供电系统设计、传感器系统、微控制器系统、处理器系统等等。
https://blog.csdn.net/qq_35635374/article/details/122294250
2、四足机器人嵌入式硬件设计
介绍cheetah mini的电源管理硬件,包括电源稳压、隔离、电流检测,MOS管软开关及电源干扰等。
介绍cheetah mini的2V无刷电机的FOC磁场定向控制硬件及控制原理
https://blog.csdn.net/qq_35635374/article/details/123855466
3、【伺服电机控制】电磁理论的基础概念
介绍电磁理论的基础概念,包括左手定则、右手定则、右手螺旋定则、永磁体同性相斥异性相吸原理、旋转磁场的原理、磁场矢量合成的原则等等
https://blog.csdn.net/qq_35635374/article/details/121990516
4、【伺服电机控制】直流有刷电机工作原理
介绍直流有刷电机工作原理,包括直流有刷电机工作原理、电枢绕组及电枢电流定义、换向器定义、电枢定义、有刷直流电机驱动硬件设计、直流有刷电机速度控制:脉冲宽度调制技术(PWM)、直流有刷电机速度和力矩、位置、方向控制规律等等
https://blog.csdn.net/qq_35635374/article/details/121990597
5、【伺服电机控制】无刷电机FOC驱动基本原理与设计
介绍无刷电机FOC驱动基本原理与设计,包括电机转子位置的采集原理(单编码器、双编码器)、电机三相电流变换采集及逆变换控制原理(Clark变换、park变换)、电机控制电路原理、无刷电机三相逆变及缓冲原理
https://blog.csdn.net/qq_35635374/article/details/121107544
6、【嵌入式控制】伺服无刷电机相关
介绍常用的电机类型及电机设计需要的因素,如电机功率、间隙半径、转矩密度和速度的关系、减少电机惯性、齿轮摩檫力、增大扭矩的方法,给出驱动程序的控制结构框图等等
https://blog.csdn.net/qq_35635374/article/details/121088592
7、【伺服电机控制】足式机器人 外转子无刷电机研究
介绍了外转子无刷电机及适用在足式机器人的特性,对比无刷电机驱动及液压驱动应用在足式机器人的控制特性。
介绍外转子无刷电机的机械结构,包括电机壳体及减速箱设计等
介绍外转子无刷电机的电气特性,包括硬件传感器选型、PCB电路板模块集成、电机输入的电流\压\率分析、电机磁场定向控制硬件及算法、位置传感、链路通讯带宽、电机散热问题等等
介绍力控电机内部处理位控、速控、力控的闭环方式控制框图
https://blog.csdn.net/qq_35635374/article/details/121089063
8、【伺服电机控制】MIT无刷电机FOC驱动程序分析
介绍无刷电机FOC驱动基本原理与设计,包括电机转子位置的采集原理(单编码器、双编码器)、电机三相电流变换采集及逆变换控制原理(Clark变换、park变换)、电机控制电路原理、无刷电机三相逆变及缓冲原理
https://blog.csdn.net/qq_35635374/article/details/121990836
9、【力控电机分析】四足机器人力控电机优劣分析及解决办法
https://blog.csdn.net/qq_35635374/article/details/121995237
10、【电源管理板】电源管理电路分析
介绍cheetah mini的电源管理硬件,包括电源稳压、隔离、电流检测,MOS管软开关及电源干扰等。
介绍cheetah mini的2V无刷电机的FOC磁场定向控制硬件及控制原理
https://blog.csdn.net/qq_35635374/article/details/122036462
11、【SPI转CAN通信板】SPI转CAN通信板电路分析
介绍SPI转CAN通信板电路原理与设计,包括稳压电路设计、CAN通讯通讯收发电路设计,SPI通讯转CAN通讯的微控制器选型等等
https://blog.csdn.net/qq_35635374/article/details/122036167