Linux
文章平均质量分 76
嵌入式Linux相关的文章
南波儿万
一个程序猿
展开
-
qemu的STM32虚拟化环境
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、qemu是什么二、使用步骤1.引入库2.读入数据总结前言年关将近,2021年新年再一次受新冠影响无法好好的回家过了。由于工作需要了解一点ARM汇编的知识,于是我决定学习一下。上来第一件事就是希望有一个学习的环境,买一个开发板感觉不值得,于是希望可以用qemu构建一个虚拟化的环境来助力一下自己的学习热情。一、qemu是什么qeme是一个虚拟机,自持许多架构的cpu,反正就是一个开源又强大的东西。具体的内容可以参考官原创 2021-01-31 18:30:09 · 11542 阅读 · 7 评论 -
linux 共享内存动态扩展的问题(链表数据保存到共享内存)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、问题描述二、Linux共享内存深入了解1.了解问题的本质才能找到解决问题的最佳方案2.封装一个mallocshm函数实现连表的进程间共享总结前言是的美国大选都到了第三天了,然而吃了几天瓜也没有个结果,导致我吃瓜的热情严重不足。于是我不得不大起精神来思考一下我的问题该如何解决。对了,都二十世纪二十年代了,互联网云计算都发展十多年了。本来一个微信公众号就能解决的事情,美国作为一个世界上唯一的超级大国,选个举居然还要用邮寄原创 2020-11-07 22:31:43 · 1706 阅读 · 1 评论 -
关于linux/unix编程哲学所悟
最近看了一本叫《Linux/unix设计思想》的树让我对软件设计有了新的认识,这本书总结了unix社区软件设计准则:1.小即是美以前每次写程序完成一个项目我都会统计一下自己一个程序总共有多少行代码,如果一个程序有几万行代码的话我会有莫名的成就感。自己认为代码的数量代表了自己的能力。现在我不这么认为了。真正有力量的程序往往是那些小程序,Linux系统中有那么多命令,他们大多数只有几百行代码但他们却构成了强大的Linux。2.让每一个程序只做好一件事只做好一件事的小程序是最美的,理解了以上两条准则后我们原创 2020-10-24 22:57:42 · 338 阅读 · 0 评论 -
Linux sed替换内容中有空格
我的配置文件中有一行如下:server 192.168.3.66 iburst minpoll 3 maxpoll 6我希望修改里面的ip地址改为192.168.3.123如何实现你,配置文件名为/etc/ntp.conf#!/bin/ship="192.168.3.123"str1=`cat /etc/ntp.conf | grep server`str2="server "$ip" iburst minpoll 3 maxpoll 6"command=s@$str1@$str2@se原创 2020-10-23 16:43:48 · 5620 阅读 · 0 评论 -
buildroot制作树莓派CM3的系统
之前我写过一篇文章讲如何通过buildroot制作树莓派CM3的系统镜像文件,整个的编译过程按照之前的文章进行可以顺利的得到一个镜像文件(sdcard.img)。但是这个文件烧录到sd卡后可以在树莓派3+的板子上正常启动但是换到实际的树莓派CM3的板子上时却无法启动。 我查阅了网上的许多资料,但是真正涉及到CM3的内容很少。我甚至只能搜索到自己的文章,经过很长时间的研究我终于成功的编译并运行。下面把解决过程记录如下:1.为什么树莓派3+和CM3的CPU是相同的编译的系统在前者可以启动却在后者无法..原创 2020-10-11 15:54:39 · 1050 阅读 · 0 评论 -
shell脚本实现串口的读取以及报文的解析
最近在从串口读取报文并判断报文内容是否有效,本来用C++写了一个小程序。奈何板卡的sftp服务老是连不上,于是考虑用shell脚本实现这个功能。用shell脚本实现这些功能面临以下几个问题:1.命令行如何设置和读取串口?stty是Linux平台下很好的终端设置工具,可以设置各种终端属性。本质上串口也是Linux系统中终端的一种。所以第一步设置串口的波特率:stty -F /dev/ttyO1 raw speed 9600然后就是读取串口,在命令行操作时我们用cat命令很容易就读取并从终端打印出了串原创 2020-06-04 14:03:53 · 6655 阅读 · 0 评论 -
Linux pty虚拟串口write阻塞
这两天遇到一个问题,程序中的串口运行时间长了就读不到数据了,最后发现是因为我虚拟的串口在写数据的时候发生了阻塞从而导致读串口的线程一直阻塞在写虚拟串口的操作处。我列出我程序的片段:void vir_serial_init(char *filename){ vir_serial_fd = -1; sfd = -1; int ret = -1; char spty_name...原创 2020-03-24 16:13:27 · 692 阅读 · 0 评论 -
玩树莓派学linux---Linux常用命令
玩树莓派首先就是了解Linux的常用操作命令。虽然Linux的命令有几百个,但是我真正常用的命令其实就只有寥寥几个,其他的我们用到的时候查看Linux的man帮助手册即可。不过有时候更好的选择是百度一下就可以了。下面我就列出我平时经常用到的几个命令:ls列出目录的文件或者文件夹,有几个常用的参数我们也可以指定目录的路径ls:列出当前目录的文件及文件夹ls -a : 列出当前目录的所有文件...原创 2020-03-22 15:49:17 · 486 阅读 · 0 评论 -
Linux挂载U盘
Linux命令行挂载U盘将U盘插入电脑,在终端输入fdisk -l然后将分区挂载在/mnt目录下:sudo mount /dev/sdb1 /mnt/卸载U盘分区:sudo umount /mnt到此Linux下U盘的挂载和卸载操作完成...原创 2020-03-17 15:40:39 · 541 阅读 · 0 评论 -
buildroot裁剪树莓派系统
在上一篇博文中记录了如何利用buildroot这个工具来编译树莓派系统最终制作出可供烧写的sdcard.img。今天记录一下裁剪树莓派系统的过程。menuconfig运行make menuconfig就可以进入buildroot的配置界面在上面的菜单中需要关注一下Toolchain,这是编译内核交叉工具链的配置。我们根据选项内容配置选项即可。一般C library选择glib...原创 2020-03-06 16:40:54 · 2379 阅读 · 0 评论 -
BuildRoot制作树莓派CM3系统的辛酸历程
要用树莓派的CM3计算模块做一个东西,前期的验证和应用程序的测试都通过了,可是官网上的树莓派系统真心开机太慢。也不符合产品需求,所以不得不自己裁剪系统。于是就开始了这个悲催历程。查找资料百度发现相对简单的方法是用BuildRoot这个东东实现前面的目的相对简单一点。除去对内核和文件系统的裁剪等操作,工具链的建立、内核的下载、文件系统的制作等一系列的操作这个软件都代劳了。即使如此,我仍然知道这一...原创 2020-03-04 16:39:03 · 1292 阅读 · 2 评论 -
Linux 开发板移植gdb
开发板没有gdb,写程序老出错而且找不到问题在哪里。于是痛定思痛,决定移植一个gdb。交叉编译器:arm-none-linux-gnueabigdb依赖于ncurses,所以先移植ncurses:下载ncurses-5.9下载地址:http://ftp.gnu.org/gnu/ncurses/下载完成后解压:(1)tar -zxvf ncurses-5.9.tar.gz //解压到当前...原创 2020-02-28 11:08:41 · 954 阅读 · 1 评论 -
嵌入式Linux交叉编译器使用详解
lsj原创 2020-02-20 17:26:48 · 1766 阅读 · 0 评论 -
Linux ssh命令登录和退出
嵌入式开发经常要通过ssh登录到开发板,Linux上位机如何通过ssh命令登录开发板ssh root@192.168.1.24(ssh 用户名@IP地址)然后输入密码即可登录。但是遇到下图的情况怎么办?其实阅读提示信息可以发现,是因为密匙验证失败,根据提示运行红色方框内的命令即可移除旧的密匙。当然,我英文不好一开始并不知道,然后折腾了很久。。。。。。。。。运行红框内的命令后再次登录,...原创 2020-02-20 14:05:12 · 5108 阅读 · 0 评论