
LInux
Xueqian E
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ubuntu上运行make menuconfig两种报错
1) 如果如上报错,没有target,这是因为运行这个make的时候没在对应的目录下运行,通常是有make的目录,这种系统性的编译的,则是应该在代码的根目录。我这里先看arm-linux-gcc -v 发现arm-linux-gcc:command not found,说明这里没合适的编译器。先装libgl1-mesa-dri:i386,显示这个的确是需要装,共386M(这个mesa也是linux的图形系统)个lib32ncurses5 lib32z1,拉成功了,这个东西是负责图形化make的。原创 2022-11-15 15:58:42 · 3013 阅读 · 0 评论 -
EMMC版本的IMX6从EMMC启动接SD卡则卡死
解决方法:先要从SD卡启动一次,来初始化硬件。之后再从EMMC启动,挂载SD卡就可以识别和启动了。原创 2022-11-14 11:50:50 · 645 阅读 · 0 评论 -
IMX6-->8 RTC同步程序涉及到的知识点
4.传来的时间是没设定宽度的,需要改成%2d,Syear就是年份是从1900开始计算的,比如2022就是传来的是122,所以要重新改一下这里Syear=tm.tm_year+1900。2.sprintf函数,发送端要把相对应的几个时间信息拼成buf时候,用这个函数,这函数用法还是比较复杂多样的,总是记混,这个网上讲解太多了。============次要知识==============================2.端口哪些可以用,是自由的动态的,哪些不能用是固定的。1.网络设备驱动的基础知识。原创 2022-11-10 16:22:35 · 809 阅读 · 0 评论 -
嵌入式启动细节
但是由于此时内存还没有初始化,所以,这时候,会借助芯片内部的sram来代替内存做这个事情,具体地就是,会把保存在nand或者sd头部的通常是长度为4k的代码拷贝进sram,这4K代码运行起来后会执行各种初始化,和拷贝的工作;2.1)nor启动的时候,就把nor flash映射为0000地址,然后系统复位,跳转到uboot的中断向量表的第一行代码=nor的第一段代码去执行。并不是先从uboot启动,在这之前,有一段固化在SOC硬件内部的启动代码(一般在CPU里的CODEROM里,这个东西是集成的)原创 2022-09-29 14:56:56 · 258 阅读 · 0 评论 -
micro微内核和mono宏内核
他的进程间通讯依靠----消息。用户态如果要这些相关服务,就会给内核发消息 ,内核再把这条小心转发给用户态里面的,原本是内核里的这些特殊服务进程,由他们来最终完成相关服务。内存管理服务收到信息,就开始工作,割一块内存分出来,然后把这块内存首地址发给内核,也是通过消息;因为在微内核里面整个内存管理模块都被丢出去到用户层变成了服务,不再是系统内核级别的系统调用了,因此也无法被称为“内核接口”。其他模块如进程,文件系统,存储不放入内核,而是变成了一个用户态的服务进程,在用户空间作为一种特殊的服务进程存在。...原创 2022-08-12 15:08:25 · 249 阅读 · 0 评论 -
连接服务器ssh命令和scp命令
最后servicesshrestart或者sudosystemctrlrestartsshd就加进去了。提升没有这个service就sudoapt-getinstallopenssh-server。然后在服务器里面catid_rsa.pub>>~/.ssh/authorized_keys。连接命令[email protected]后面接密码。然后sudosystemctrlrestartsshd。就拷贝过去了,然后servicesshrestart。...原创 2022-07-20 12:40:36 · 589 阅读 · 2 评论 -
测试音频设备时遇到的tinyalsa命令和命令参数
音频测试:1)移植tinyalsa音频调试包括播放和录音等,需要用到的子系统是tinyalsa,但是如果没有tinyalsa,就需要先移植过来再进行调试。开始,先编写makefile,用arm-linux-gcc编译tinyalsa源码完成后,通过adb push把这些文件push到/system/bin下,然后运行tinymix,发现无法运行。因为luinux下它执行程序的库是glibc,但是再Android里面它变成了bionic,所以无法运行。然后再external/tinyalsa下面发现已经有ti原创 2022-06-20 15:25:16 · 1311 阅读 · 0 评论 -
Linux下的ftok()函数
linux ftok()函数 - 清清飞扬 - 博客园 (cnblogs.com)系统建立IPC通讯(如消息队列、共享内存时)必须指定一个ID值。通常情况下,该id值通过ftok函数得到。ftok原型如下:key_t ftok( char * fname, int id )fname就时你指定的文件名(该文件必须是存在而且可以访问的),id是子序号,虽然为int,但是只有8个比特被使用(0-255)。当成功执行的时候,一个key_t值将会被返回,否则 -1 被返回。 在一般的UNIX实现中..原创 2021-10-06 14:07:38 · 1378 阅读 · 0 评论 -
EXQ_管道,共享内存,消息队列
原创 2021-10-04 15:45:29 · 166 阅读 · 0 评论 -
EXQ_进程间通讯
1.进程的资源空间独立带来的问题 1)子进程的执行结果没有办法告诉父进程 1> exit()可以传递进程退出值,但是表达的含义有限; 2> 子进程可以写一个文件,供父进程查看以获取信息; 2)如何解决进程独立带来的通信问题?2.进程间通信的方式 1)交换数据:两个进程需要具体的数据 2)通知事件:两个进程告诉对方发生了什么事情 3)互斥/同步:两个进程执行由先后关系; 3.尝试两个进程交换数据 1)本质...原创 2021-09-28 00:38:09 · 219 阅读 · 0 评论 -
利用alarm定绝对时间闹钟
#include <stdio.h> #include <time.h> #include <stdlib.h> #include <signal.h>void signal_do(int arg){ printf("Is show time\n");}int main(int argc, const char * argv[]) { struct tm * tmp_time = (struct tm*)mal.原创 2021-09-28 00:34:16 · 146 阅读 · 0 评论 -
EXQ_信号安装函数sigaction
背景: 信号安装函数sigaction()本质上和信号注册signal()一功能一致; 但函数sigaction()更加强大复杂,sigaction()是标准POSIX函数,故移植性也更好 signal()只是系统调用,功能单一1.信号安装sigaction() int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact); 功能:检查或修改与指定信号相关联.原创 2021-09-28 00:32:50 · 197 阅读 · 0 评论 -
EXQ_信号量集合相关函数 semget.c
#include <stdio.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/sem.h>union semun { int val; /* cmd为SETVAL需要的整数值 */ struct semid_ds *buf; /* cmd填IPC_STAT, IPC_SET需要的缓冲区首地址 */ unsigned s.原创 2021-09-28 00:29:00 · 164 阅读 · 0 评论