嵌入式系统开发
文章平均质量分 56
fensnote
从事嵌入式Linux系统开发10年左右;
平时使用C/C++编程语言,使用Qt做嵌入式界面开发;
博客园:https://www.cnblogs.com/fensnote/
展开
-
嵌入式Linux的应用程序升级文件制作
简述嵌入式Linux系统一般是将应用程序与文件系统、内核、资源文件等放在不同的分区,产品量产后内核、文件系统这些一般不会升级,应用程序可能升级会比较多一些。有的嵌入式系统的应用程序分区用的也是可读写的,那比较方便,把文件打包然后解压到对应的分区目录下替换即可。有的是应用分区做成只读,这样需要将应用程序打包做成flash镜像,下载到设备上更新到flash上。不论是那种方式,对应应用程序来说都需要打包起来,可以是压缩包,也可以是镜像文件。这些文件在导入到系统进行升级的时候,我们都需要对这个文件做一些必要的原创 2021-09-25 10:04:34 · 1053 阅读 · 0 评论 -
一个神奇的命令-sed
sed功能堪称强大,命令行文本修改编辑必不可少!这里仅仅记录其最常用的功能,详细功能使用可以看手册,这里不做重复描述。比如要替换当前目录下所有文件的一个字符串,“nicai” 替换为“nicaiwocaibucai”,可以这样操作:sed -i "s/nicai/nicaiwocaibucai/g" `grep “nicai” -rl ./`这样将当前目录下的文件全部替换,包括子目录下的!...原创 2021-09-18 10:06:46 · 93 阅读 · 0 评论 -
海思3536c移植openssl
可以直接用以下命令生成makefile:CC=arm-hisiv500-linux-gcc ./config no-asm shared --prefix=/opt/openssl/就可直接使用make命令进行编译,使用make install命令安装。原创 2021-07-15 18:16:39 · 180 阅读 · 0 评论 -
C语言日志工具EasyLogger推荐
文章目录日志简述EasyLogger简介编译运行附录EasyLogger说明1. 介绍1.1 主要特性1.2 插件1.3 Star & Fork2. 使用2.1 参数配置2.2 输出级别2.2.1 输出缤纷多彩的日志2.3 输出过滤2.4 输出格式2.5 输出方式2.6 Demo2.6.1 核心功能2.6.2 Flash Log(将日志保存到 Flash 中)2.6.2 File Log(将日志保存到文件中)3. 文档4. 后期5. 许可源码下载微信公众号:**fensnote**日志简述C/C原创 2021-02-28 11:16:00 · 971 阅读 · 2 评论 -
嵌入式系统时区设置为东8区
一般嵌入式系统里没有配置时区时,时区默认都是0时区,也就是UTC时间,为了与平台时间保持一致,最好修改一下时区。UTC时间:Mon Oct 12 23:05:34 UTC 2020修改时区的方法其实挺简单。将你Ubuntu虚拟机的时区文件,拷贝出来,下载到板子里即可,文件为:/etc/localtime放入板子后,输入命令date查看时间时,时间可能已经变为东八区。Mon Oct 12 23:09:25 CST 2020这里的代CST表 China Standard原创 2020-10-12 23:13:40 · 245 阅读 · 0 评论 -
Linux下软链接使用
软链接概述软链接是Linux下常用的一种共享文件方式、目录的方式,这种方式类似于Windows下的快捷方式。一般一个文件或者目录在不同的路径都需要的时候,可以通过创建软链接的方式来共享,这样只系统下面只有一份源文件、目录。另外,巧用软链接,可以大大增加应用程序的可移植性。软链接创建与删除软链接创建与删除比较简单,使用ln命令创建链接文件,格式如下:ln -s [源文件或目录] [目标文件或目录]示例:建立一个指向/usr/local/www的软链接到/tmp下面:$: ln -s /u原创 2020-09-12 09:33:10 · 181 阅读 · 0 评论 -
嵌入式C语言终端界面输出颜色
命令后界面输出颜色嵌入式终端界面输出日志时,为了区分输出的有用信息、错误信息,可以给不同级别的输出加上不同的颜色,以方便查看。下面是颜色的定义://颜色宏定义#define NONE "\033[m"#define RED "\033[0;32;31m"#define LIGHT_RED "\033[1;31m"#define GREEN "\033[0;32;32m"#define LIGHT_GREEN "\033[1;32m"#原创 2020-05-12 15:38:12 · 850 阅读 · 0 评论 -
嵌入式Linux串口操作实例
简介嵌入式Linux下串口编程与Linux系统下的编程没有什么区别,系统API都是一样的。嵌入式设备中串口编程是很常用的,比如会对接一些传感器模块,这些模块大多是RS232或者RS485接口,对于软件层面上来说,RS232与RS48区别不大。RS232与RS485在使用上的区别,RS232是全双工的,只能对接一个设备串口设备。RS485是半双工的总线协议,一般可以挂多个传感器设备,半双工的意思是同时只能有一个设备向串口发数据。用到的API函数函数说明open打开设备,用于打开串口原创 2020-05-12 09:28:49 · 528 阅读 · 0 评论 -
如何将嵌入式串口打印信息重定向telnet/ssh界面
文章目录概述实现代码编译运行概述在嵌入式Linux系统中,有时通过远程(telnet或者ssh)登录到现场设备,想看程序的实时打印的调试信息,需要将输出到串口的调试信息重定向到当前登录的终端界面上。也可以将程序重新启动到当前终端界面,但是在程序出现问题时,如果重启程序,可能会破坏了问题现场,再查找问题就不好查找了。下面是实现的代码,可以将输出到串口的日志信息,重定向到当前的telnet或者...原创 2020-04-27 08:55:16 · 2146 阅读 · 4 评论 -
聊聊这些东西C、C++、boost、Qt在嵌入式系统开发中的使用
C语言C语言大家都比较熟悉了,是属于底层编程语言了,计算机行业里有句话说“C生万物”!不得不说,C语言的出现,改变了计算机世界。在嵌入式系统开发中,C语言可以用于各个部分的开发,uboot、内核、驱动、应用。所以只要会c语言,就可以做嵌入式系统开发,不过对于应用层的开发,还是C++好一些。在这里也对C语言列举几个例子,展示下C语言的强大:Unix操作系统、Linux操作系统都是C语言开发...原创 2020-04-19 23:13:19 · 313 阅读 · 0 评论 -
Linux之线程入门示例
简介Linux线程是需要连接pthreat库,线程的使用比进程更灵活,需要注意的是线程间的互斥,或者说是资源共享问题。C++11之后,C++标准库也引入了线程,并且使用非常方便,以后再介绍,这里先发一个简单的线程示例代码。代码#include <stdio.h>#include <pthread.h>#include <string.h>#incl...原创 2020-04-17 09:14:57 · 141 阅读 · 0 评论 -
Linux使用C语言实现ls命令
原理在linux下使用C语言,通过调用Linux系统的目录访问API来实现一个类似于ls命令功能的小程序,主要是可以练习程序对命令的解析和目录API函数的使用。实现代码#include <stdio.h>#include <time.h>#include <sys/types.h>#include <sys/stat.h>#includ...原创 2020-04-15 07:48:52 · 526 阅读 · 0 评论 -
Linux目录访问函数汇总
Linux下目录访问函数总结,主要是涉及到的函数,以及所在头文件。获得工作目录:#include <unistd.h> char *getcwd(char *buf,size_t size);char *getwd(char *buf);/*this is for FreeBSD*/ 改变当前目录:#include <un...原创 2020-04-14 07:51:42 · 119 阅读 · 0 评论 -
文件IO@Linux
文章目录简述代码编译运行微信公众号:简述Linux下的所有资源都被抽象为文件,所以对所有资源的访问都是以设备文件的形式访问,设备文件的操作主要包括:打开、关闭、读、写、控制、修改属性等。下面的示例代码主要是对文本文件的拷贝。其实对于一些复杂一点的设备,主要操作也是类似,比如摄像头,在linux下也是一个设备文件,打开之后,可以读取摄像头的参数,然后可以读取图像数据,读取到的图像数据可以编码后...原创 2020-04-14 07:32:30 · 113 阅读 · 0 评论 -
Ubuntu共享环境配置
1. 添加linux用户安装的开发用的虚拟机,一般不直接使用root账户,会新建一个普通用户,然后在/etc/sudoers添加上sudo的权限即可。使用如下命令:sudo adduser --home /home/test test--home:添加用户指定的目录;(不同的adduser版本的参数可能不太相同)最后跟的test为用户名;输入这条命令后,系统会提示让输入用...原创 2020-04-03 17:24:43 · 281 阅读 · 0 评论 -
《共享内存》Linux进程间通信入门
文章目录简述代码写端代码读取端代码编译运行微信公众号个人微信公众号: fensnote简述共享内存是Linux系统进程间通信常用的方式,通常用于数据量较大的情况,如果只是用于不同的进程间消息通知,那不如用消息队列或者socket。之前做的项目中,使用共享内存的其实只有一种情况:视频数据的共享。设备类似于DVR,视频采集编码在一个独立的程序中,另一个程序负责协议通信。共享内存要想好用,共...原创 2020-03-31 07:51:39 · 129 阅读 · 0 评论 -
Linux系统开发总览
先列一下Linux系统开发要掌握的知识,后续的文章中,会一 一讲解。欢迎关注我的微信公众号:fensnote文章目录Linux系统开发会用到什么?C语言基础shell脚本慢慢学会使用Makefile常规Linux系统编程知识都有什么?哪些常用?哪些不常用?常规Linux编程知识文件IO文件与目录操作标准IO库进程控制线程编程高级IO进程间通信数据库串口编程网络编程结束语Linux系统开发...原创 2020-03-30 09:48:27 · 371 阅读 · 0 评论