嵌入式应用
ComputerInBook
这个作者很懒,什么都没留下…
展开
-
MPEG4写为avi文件
在嵌入式板子上插了一个usb摄像头,利用linux v4l2驱动抓取mpeg4图片,然后写入avi文件,在网上找了好几个开源库,找到两个库:一个库在这里:http://avifile.cvs.sourceforge.net/avifile/avifile-0.6/但是这个库很久没有维护了,编译的时候还出了好多错,而且还是语法错误,各种问题比较多,而且比较庞大,暂时放弃,如果有兴趣的朋友可以继续研究,后面我会写一篇文章专门讲述编译过程。另一个库是一个小巧的库,目前使用的就是...原创 2020-08-26 13:28:38 · 304 阅读 · 0 评论 -
Unable to mount root fs via NFS
题目是一个非常常见的网络文件系统制作报错,下面列一下制作网络文件系统的一些关键环节。1. 配置环境1.1 软件环境主机:Linux redhat7 64位文件系统:busybox-1.31.1,使用动态编译制作完成,放在目录rootfs1.2 硬件环境任意arm开发板2. 主机软件2.1 portmap:Linux的RPC服务,它响应RPC服务的请求和与请求的RPC服务建立连接。(注意,在centos7以上或redhat7以上,portmap改名为rpcbind了) 检查主机是否安装了..原创 2020-07-25 11:05:54 · 1370 阅读 · 1 评论 -
linux移植网卡驱动问题(itop-4412)
针对itop-4412这个板子移植网卡驱动,本来以为非常简单的,结果费了老大的劲还不能成功,经过反复厂家提供的编辑过的内核,发现内核linux-4.14.2中drivers/char/目录下有个power_ctrl.c这样一个文件,这应该是这个网卡dm9625的电源驱动代码,如果不将这个编入内核,网卡灯死活不亮,而虽然内核中有这个文件,最关键的一点,是在Makefile中即没有将它加入进去,导致代码一样,运行起来却老是失败。而在内核linux-5.6.8中,没有这个power_ctrl.c文...原创 2020-07-24 13:49:46 · 1086 阅读 · 1 评论 -
openssl/opensslv.h: No such file or directory
在编译linux-5.6.8时遇到的问题1. openssl/opensslv.h: No such file or directory原因分析,没有安装openssl,下载一个安装,要这儿:https://www.openssl.org/source/ openssl-1.1.1g.tar.gz安装的时候注意一下,看说明,我的机子是这样开始配置安装的./configmakemake install注意,默认它把库安装到/usr/local/lib64下面了,而不是/usr/li...原创 2020-07-16 13:06:32 · 4503 阅读 · 0 评论 -
Unhandled fault: alignment exception
在移植linux-3.0.8时,报了这个错,详细信息如下: <1>Unhandled fault: alignment exception (0x801) at 0xc0527f27 <0>Internal error: : 801 [#1] PREEMPT <d>Modules linked in: CPU: 0 Not tainted (3.0.8 #33) PC is at pcpu_dump_alloc_info+...原创 2020-07-13 13:15:55 · 1651 阅读 · 0 评论 -
VFS: Cannot open root device “mtdblock4“ or unknown-block
在移植嵌入式linux文件系统时,常常出现文件挂载错误,以下是我的内核配置参数: root=/dev/mtdblock4 rootfstype=yaffs2 console=ttySAC0,115200 init=/linuxrc 板子为s5pv210,文件系统为yaffs2,利用busybox-1.31.1制作,错误如下:1. [0.712506] VFS: Cannot open root device "mtdblock4" or unknown-block(0,0)...原创 2020-07-13 12:52:53 · 1120 阅读 · 0 评论 -
记一次构建基于arm的linux根文件系统的曲折历程
1. 前言要研究操作系统,移植linux到嵌入式设备上运行是很好的实践方式,可以大大的加深对操作知识的理解,计算机是一门理论与实践紧密结合的学科,光有理论是不行的,还得多实践。但是,这要求比较多的相关知识,以及对linux各方面都要比较熟悉,对于新手或者从别的开发领域转过来的人来说,可能会遇到比较多的问题,有时候好像还无从下手,也无法从身边朋友得到帮助,这时候就考验你的信息检索能力,耐心和恒心,以及分析能力了。我把这次移植根文件系统的经历写出来,希望共同爱好共同学习的朋友少走弯路。另外顺便说一下,别寄希原创 2020-07-05 19:56:04 · 1572 阅读 · 0 评论 -
Kernel panic - not syncing: Requested init /linuxrc failed (error -13).
开发板平台exynos-4413,使用busybox-1.31.1制作ext4根文件系统。Kernel panic - not syncing: Requested init /linuxrc failed (error -13).这是一个巨坑无比的错误,让你伤痛了脑袋都难搞出原因,怎么入手,先看看定义的错误是什么意思。错误在这里定义:在Linux源码目录/include/uapi/asm-generic的errno-base.h中#define EPERM 1 /* Operation n原创 2020-07-03 16:02:57 · 2592 阅读 · 0 评论 -
Linux移植遇到的一些问题及解决方法(arm开发板)
1. 前言 自上次研究嵌入式系统以后,已经过了12年了,这期间,linux内核和硬件都发生了非常大的变化,加这方面的开发人员相对较少,碰到一些问题,需要耗费比较多的时间和精力来搜索资料和自己研究,对于没于耐心和基础的人来说,确实不容易坚持下去。这方面的网上资料,有很多是培训机构或者爱好者发的,其正确性也需要验证才能知道,也有很多是以诈传诈,或者语焉不详,要处之处一笔跳过,或者语焉不详,要处之处一笔跳过,或干脆不写。另外,linux开发的问题,就是搭建环境比较麻烦,库版本的兼容性有差别,经常遇到库不兼..原创 2020-06-26 19:25:39 · 2357 阅读 · 1 评论 -
从源码构建gcc交叉编译环境
本文使用linaro公司制作的交叉编译gcc源代码进行安装,那种制作好的交叉编译工具链安装不是咱的追求,不在学习范围。网上有很多安装说明都是针对现成的工具链安装,而且语焉不详,很多问题没有讲解清楚。使用源码编译安装,会加深对构建系统的理解,窥探更为深入的部分,过程中会出现各种各样让人意想不到的,奇奇怪怪的没有遇到过的问题,甚至让人崩溃想放弃的问题。如果你淌过去了,你就进步了,学习...原创 2020-04-14 13:49:18 · 3302 阅读 · 0 评论 -
wince服务编写方法
wince服务与windows pc服务有区别,是将服务写成dll的形式,在注册表中配置项,然后系统自启动时加载.下面是示例1. 编写dll文件,实现几个方法//写日志组件CSTLogFile* Logger = CSTLogFile::GetLogFile();// Handle to the worker threadHANDLE g_h原创 2014-09-18 21:31:40 · 730 阅读 · 0 评论 -
wince与pc连接同步出错解决方法
首先直接上一张报错的图导致wince设备与pc无法连接,不能调试也不能复制文件,很是不爽,网上查了一个可行的办法办法,经过验证,在wince5.0与wince6.0中都好使,问题解决。原文件地址:http://www.niwozhi.net/demo_c232_i12438.html 标题为:Wince运行一段时间后同步出错的问题原创 2014-08-01 15:10:53 · 4061 阅读 · 0 评论 -
关于WinCE调用RegDeleteKey不能删除注册表项的问题
在写一个WinCE注册表操作的时候,调用RegDeleteKey函数却不能删除注册表项,始终返回5的错误(ACCESS DENY)。查了一下,有的说是什么权限的问题,操作的时候都是先打开注册表,如果打开成功,即调用RegDeleteKey删除此键,其实这都是不对的,经过反复查看其文档介绍,终于在一个不起眼的句子中找到了答案。下面先介绍一个此函数,直接贴原文。RegDeleteKey (原创 2014-03-28 23:43:48 · 2089 阅读 · 0 评论 -
关于异步读写串口的注意事项
同步读写串口很简单,异步读写串口有几个地方需要注意,以例子说明:1. 打开串口HANDLE m_hCom;m_hCom = CreateFile(_T("COM1"), GENERIC_READ|GENERIC_WRITE, //允许读和写 0, //独占方式 NULL, OPEN_EXISTING, //打开而不是创建原创 2012-05-06 15:14:38 · 2187 阅读 · 1 评论 -
S3C2410 LCD驱动的移植(基于linux-2.6.15.4内核)
在linux-2.6.15.4的内核代码中已经含有LCD屏的驱动代码,只需作少量的修改,把你的LCD屏的参数加入即可.以东华3.5LCD为例作说明.1. 在内核配置中把以下选项选上:Device Drivers->Graphics support-> (除了VGA text console将其及其子项全选上)2. 修改linux-2.6.15.4/arch/arm/mach-原创 2009-08-25 00:46:00 · 1352 阅读 · 1 评论 -
基于S3C2410的linux-2.6.14.1内核编译问题
1. 在内核目录直接执行命令make gconfig,在配置菜单中并看不到System Type的菜单,修改Makefile中的ARCH = armCROSS_COMPILE = arm-linux-保存后,执行make gconfig可看到System Type菜单。2. 出现如下错误:make[3] ……[drivers/media/radio/radio_maest原创 2009-08-25 01:00:00 · 1371 阅读 · 0 评论 -
linux-2.6.14.1内核在S3C2410上运行时的一些问题
1. 问题一 下载内核到flash中,运行到如下即停止没有下文:Uncompressing Linux……………………done,booting the kernel卡在这里不动了原因分析:可能是内核的启动参数传递时没有填写正确,也可能是在linux内核中没对flash分区,还有另一可能原因是在内核编译配置时没将串口驱动勾选。解决办法:如果是命令参数问题,则作如下原创 2009-08-25 00:59:00 · 693 阅读 · 0 评论 -
移植minigui-1.6.10中遇到的一些问题:
开发板:S3C2410内核:linux-2.6.15.4需移植如下相关内容:1. ZLIB库2. png库3. JPEG库4. libttf字体5. libminigui-1.6.106. libminigui-res-1.6.107. 文件系统的制作8. 修改原创 2009-01-28 22:21:00 · 1813 阅读 · 0 评论