Linux嵌入式
文章平均质量分 84
Nik_Talk
AIOT架构师
展开
-
busybox的使用及根文件系统的制作
嵌入式根文件系统框架:busybox应用使用busybox需要确保busybox的运行,以及掌握常用的工具命令。一、补全目录与文件将busybox编译得到的_install下的目录补全需要的目录:mkdir /proc/lib/etc/dev/usr/var动态库依赖:readelf-dbusyboxIgrepNEEDED //在busybox目录下运行ld-uClibc.so.0 libc.so.61ibm.so.6ld-uClibc.so.0---...原创 2020-07-14 17:14:23 · 971 阅读 · 0 评论 -
linux的cramfs,squashfs,jffs2根文件系统镜像的制作与测试
Cramfs文件系统的制作:一,准备工作,安装工具包1,安装cramfsprogs工具包apt-get install cramfsprogs2,查看安装cramfsprogs得到的命令,mkcramfs,cramfsckdpkg -L cramfsprogs二,准备工作,Busybox编译Busybox 编译 与 kernel 的编译方法类似,需要先 make defconfig 再 make,之后 make install 会 默认把安装文件生成在 busybox/_install 目原创 2020-07-11 18:06:03 · 1409 阅读 · 1 评论 -
进程通信之IPC通信对象——信息队列
IPC通信------IPC对象:1,共享内存,2,消息队列3,信号灯。2,消息队列(链式队列)msgget()创建函数的解析:msgctl()释放函数的解析:例子1:利用msgget()函数创建消息队列,再用msgctl()删除消息队列;创建creat_delete_massegeque.c,代码如下:#include"unistd.h"#include"sys/types.h"...原创 2020-01-11 23:56:45 · 319 阅读 · 0 评论 -
进程通信之IPC通信对象——共享内存
IPC通信------IPC对象:1,共享内存,2,消息队列3,信号灯。IPC对象1,共享内存例子1,利用shmget()函数创建共享内存;建立shmid.c文件,内容如下#include"system/types.h"#include"sys/shm.h"#include"signal.h"#include"unistd.h"#include"stdio.h"#inclu...原创 2020-01-11 13:30:22 · 324 阅读 · 0 评论 -
进程通信之对象-信号通信
查看内核可以发送多少种信号的命令:kill -l每种信号代表不同的功能和意义。杀死某个进程是命令:kill [进程号] [pid]1,信号的发送:kill(),raise(),alam()等函数2,信号的接收:pause() sleep() while()3,信号的处理: signal()1,信号的发送例子1:用kill()函数实现kill命令功能;建立mykill()文件,内容如下。#...原创 2020-01-10 01:18:36 · 196 阅读 · 0 评论 -
autotools工具之autoconf编译生成makefile的流程
gnu autoconf学习官网:http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/autoconf.html#Making-configure-Scripts应用软件发布根据Autotools的流程生成makefile及软件安装包。步骤如下1,安装autoconf,输入安装命令:sudo apt ...原创 2020-01-09 02:12:24 · 1318 阅读 · 0 评论 -
GUN开发坏境基础之Makefile
gun的make程序,gun的make官网:make的作用:工程文件组织,编译成复杂的程序,安装和卸载程序。make的编写及makefile变量1,简单的makefile例子:在目录下创建4个文件func1.c,func2.c,main.c,makefilefunc1.c内容func2.c内容main.c内容makefile的内容2,对以上例子进行改进,添加多条规则,如下:...原创 2020-01-08 19:20:29 · 466 阅读 · 0 评论 -
GNU开发基础之gcc编译可执行文件的过程
gcc编译器:编译原理-编译的过程1,编译预处理文件(将.c源文件预处理成.i文件):gcc -E h.c -o h.ivim h.i可看其内容。2,将h.i预处理文件编译成.S汇编文件:gcc -S h.i -o h.svim h.s可看到其汇编内容;3,将h.s文件汇编成h.o的二进制目标文件h.o: gcc -c h.s -o h.ovim h.o可看其二进制内容:4,链接...原创 2020-01-08 11:24:45 · 283 阅读 · 0 评论 -
c语言之运算符
1,算术操作运算符:+,-,*,/,%2,逻辑运算:&&,||,!,>,>=,<,<=3,位运算:<<(左移),>>(右移),&,|,^,~ 【符号位为1表示负数,符号位为0表示正数】 左移和右移是对二进制数的操作 1) <<(左移):左移一位相当于乘以2 十进制数 左移...原创 2020-01-07 22:10:28 · 1710 阅读 · 0 评论 -
(10)QJ_黑电平&AWB&CCM校正步骤&raw数据抓取
1,设备准备:待校正主控+SENSOR+镜头+镜头盖(可抓raw版本)2,环境准备:图像室灯箱环境,24色卡,照度计3,说明书准备:《HiISP 颜色调优说明》、《图像质量调试工具使用指南》4,工具准备:PQTOOL(版本对应,插件齐全),ImageJ5,运行环境:搭建nfs,远程mount到pqtool脚本目录,运行脚本,打开pqtool连接,最好All read下确保参数更新。备注:...原创 2020-01-07 12:11:13 · 3742 阅读 · 1 评论 -
(09)IPC的镜头对比(矫正)
镜头对比1.仔细阅读图像矫正文档2.新镜头未调试,先进行截图对比,在明亮环境下,与原镜头做对比,使用工具截图保存对应的png图片,整合对比文档(2张图片对比)3.使用新镜头做对应的图像矫正,矫正参数更新到代码app_rebulid/bin/hi_isp_cfg_ini_16A_D路径下对应的sensor(imx326)配置文件,相关关键参数截图保存,编译固件4.升级设备前,使用新旧镜头在同...原创 2020-02-12 21:28:23 · 546 阅读 · 1 评论 -
(08)设备跑PQtool,并且对基本图像参数做调整
设备跑PQtool,并且对基本图像参数做调整1.使本机具备跑PQtool环境2.在windows系统下搭建nfs环境3.将对应PQTool脚本放到window下对应的nfs目录下4.telnet进入设备后台,nfs访问window下pqtool脚本目录5.运行pqtool的sh脚本6.打开pqtool设备,登录pqtool7.使用IPCMultiImage打开设备,查看调整pqtoo...原创 2020-01-07 12:01:30 · 2154 阅读 · 1 评论 -
(07)Makefile回顾之config.ini文件理解
Makefile回顾,阅读makefile,config.ini文件,自行写阅读理解。1,Makefile文件的理解打开Makefile文件所在路径,如下图。用vim文本编译器打开Makefile进行阅读,内容如下图。自己阅读理解如下标注#后的中文解释。#MODEL ?= hi3518a //是否有赋值,没有的就赋值为hi3518a,以下的#MODEL语句也类似作用#MODEL ?...原创 2020-01-07 11:56:30 · 865 阅读 · 0 评论 -
(06)编译新web资源固件
以4百万学生图像采集器P6120为例,设备跑app,执行两种跑app的方式;执行app链接新的web资源;编译新web资源固件1.telnet进入设备后台,如下图。2.killall ash && killall app;rmmod wdt 如下图。3.cd /usr/share/ipcam;./app 结果如下图。4.查看设备出图情况,如下图。5.ps;kill掉...原创 2020-02-12 21:32:56 · 259 阅读 · 0 评论 -
(05)编译app及固件
编译app及固件。要求:1.linux环境创建一个Project文件夹,修改对应配置文件使其可nfs访问,将代码文件(git_ipc)及对应库文件(ReleaseDPT4)放到该文件夹下。1.1 首先在linux环境创建一个Project文件夹,如下1.2 修改对应配置文件/etc/exports,如下wq!保存退出再用命令cat查看一下修改1.3 重启nfs-kernel-ser...原创 2020-01-07 11:40:29 · 363 阅读 · 0 评论 -
(04)OSD扩展开发(缺)
1.在开发任务03的基础上,站在客户角度设计需求,需求符合引导客户设置OSD的结果2.参考固定模板“广东启教科技小学-开发部(01)班-编程课(扩充)”,引导客户输入“A学校-B班级-C科目”3.客户输入ABC可任意组合,某项为空不计,设置成功后可显示A,B,C,A-B,A-C,B-C,A-B-C共7种客户自定义OSD4.参考WEB端OSD通道名输入格式,做WEB的扩充,在WEB尝试触发,查...原创 2020-02-12 21:29:04 · 183 阅读 · 0 评论 -
(03)OSD通道名的扩充
1.测试纯英文及纯中文下OSD的字符长度限制2.基于原OSD代码,对OSD通道名长度做扩充,支持显示固定模板“广东启教科技小学-开发部(01)班-编程课(扩充)”,以模板长度为准3.对OSD通道名移动至左上角,左下角,右上角,右下角,均能完整显示4.不重叠,不花屏,串口log无异常打印,/dev/mpplog无持续异常打印执行结果如下1.测试纯英文及纯中文下OSD的字符长度限制1.1...原创 2020-02-12 21:29:51 · 676 阅读 · 0 评论 -
(00)Hi3516A/Hi3516D SDK 安装以及升级使用说明
Hi3516A/Hi3516D SDK 安装以及升级使用说明注意:本文以Hi3516A描述为例,未有特殊说明,Hi3516D与Hi3516A一致。第一章 Hi3516A_SDK_Vx.x.x.x版本升级操作说明如果您是首次安装本SDK,请直接参看第2章。第二章 首次安装SDK1、Hi3516A SDK包位置在"Hi3516A_V100R001***/01.software/boa...原创 2020-01-07 09:56:34 · 498 阅读 · 0 评论 -
(02)Hi3516A SDK安装
1,设置root为默认登录用户1.1.使用命令打开配置文件,命令如下:sudo vim /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf1.2.修改配置文件50-ubuntu.conf,添加如下内容autologin-user=rootuser-session=ubuntugreeter-show-manual-login=true...原创 2020-01-06 22:24:31 · 484 阅读 · 0 评论 -
(01)对(IP-camera)图像采集器进行升级
**1.使用ipcamsuite工具,对图像采集器进行升级,注意版本区分;**1.1对教师图像采集器进行升级 打开ipcamsuite工具对图像采集器进行升级,我这里IP为192.168.26.163的是教师图像采集器,在该采集器前的编号方框内打勾选中,然后在底下的“升级网络摄像机”框内点击浏览,找到对应的升级包,我这里教师图像采集器对应的升级包为IPCHI16A_20181017_P...原创 2020-01-06 21:57:34 · 1204 阅读 · 0 评论 -
嵌入式开发——git clone,git add, git commit,git gui,git push代码库环境配置测试
1.安装linux下git环境1)git安装成功,如下图sudo apt-get install sshsudo apt-get install git2.生成并提供pub文件,待管理员给予仓库权限1)生成ssh公钥pub文件如下图。3.clone仓库,仓库路径为xingchen/xc_ipc 如下图4.从仓库分支topic_new_XC_4MP上拉取源码 拉取命令...原创 2020-01-06 17:07:38 · 152 阅读 · 0 评论 -
ubuntu16.04下配置nfs服务器
1-安装Ubuntu nfs服务器端:2-设置共享的文件目录mkdir nfs_share3配置NFS服务器3.1-修改配置文件/etc/exports (默认状态下是没有配置的,可以参考给出的例子或者百度来决定配置信息)使用 vim /etc/exports 或者 vi /etc/exports ,打开配置文件。在最后添加如下一行内容然后保存退出。4,重启nf...原创 2020-01-06 16:30:19 · 574 阅读 · 0 评论 -
设置root为默认登录用户并设置root为默认登录用户并为虚拟机上的Ubuntu配置静态IP配置,出问题时的解决办法
设置root为默认登录用户并为虚拟机上的Ubuntu配置静态IP配置,出问题时的解决办法1,设置root为默认登录用户.使用命令打开配置文件,命令如下:sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf2.修改配置文件,添加如下内容autologin-user=rootuser-session=ubuntugreet...原创 2020-01-06 16:24:33 · 1119 阅读 · 0 评论 -
Ubuntu16.04下搭建海思的arm-hisiv300-linux-gcc交叉编译环境
Ubuntu16.04下搭建海思的arm-hisiv300-linux-gcc交叉编译环境的问题与解决办法本来以为按官方给的几个简单的安装步骤操作就可以了,但后来发现无论哪个厂家的交叉编译工具想在64位的平台上安装搭建,例安装如arm-none-linux-gnueabi-gcc ,arm-xilinx-gnueabi-gcc等都少不了要安装一些32位平台上的依赖包,不然是没法在64的平台上运...原创 2020-01-06 15:18:03 · 4557 阅读 · 1 评论 -
linux系统下库函数的制作,静态库.a,动态库.so
1,c函数库1)静态函数库2)动态函数库2,函数库的制作过程1)静态库的制作步骤 <1>生成目标文件file.o:gcc -c file.c <2>生成静态库libfile.a:ar -cr libfile.a file.o2)静态库的调用编译: <1>可执行文件main调用静态库:gcc -o main main.c -L....原创 2020-01-06 11:53:00 · 244 阅读 · 0 评论 -
Linux嵌入式之IO编程总结篇
*单机模式模式下的文件上传下载的服务器的实现*步骤如下:步骤1)输入服务器的地址:路径和目录名步骤2)列出服务器中的所有文件:opendir ,readdir步骤3)输入要从文件服务器下载的文件名 或 上传文件到服务器的文件名步骤4) 下载文件 或 上传文件涉及的(文件IO)系统调...原创 2020-01-03 17:57:00 · 585 阅读 · 0 评论 -
ubuntu下C语言调用sqlite3数据库实现增删查改
ubuntu下C语言调用sqlite3数据库实现增删查改Ubuntu下安装sqlite3数据库以及使用$ sudo apt-get install sqlite3 //安装命令$ sqlite3 --version //查看安装的版本$sqlite3 student.db //创建数据库student.db$create table stu(id int,name char); //创建...原创 2019-05-20 11:15:07 · 1622 阅读 · 0 评论