- 博客(12)
- 问答 (1)
- 收藏
- 关注
原创 编译、链接和库(1)
静态编译过程的简单拆解#include <stdio.h>int main(int argc,char *argv[]){ printf("hello world\n"); return 0;}root@:~# gcc hello.c -o hello上面是最简单的一段C语言代码,编译成hello可执行文件后,./hello就可以打印出hello world。当我们执行gcc编译hello.c时,编译器其实进行了大量的操作以便生成我们想要的可执行文件。简单来说,执行过程可分
2021-03-16 22:16:32 453 1
原创 xv6环境搭建
riscv工具链安装基于ubuntu18.04sudo apt-get install build-essential gdb-multiarch gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu xv6代码拉取git clone git://g.csail.mit.edu/xv6-labs-2020cd xv6-labs-2020git checkout util运行qemu在xv6代码目录下执行 make qemu...
2021-02-07 20:46:06 2126
原创 使用busybox制作包含proc/和sys/的根文件系统
在上一篇博客中我搭建了qemu模拟vexpress开发板的环境,本篇博客是对根文件系统详细制作过程的补充环境搭建链接:https://blog.csdn.net/qq_25356929/article/details/113057354busybox下载,编译和安装下载解压busybox到当前工作目录wget http://www.busybox.net/downloads/busybox-1.32.0.tar.bz2tar -jxvf busybox-1.32.0.tar.bz2进入b
2021-02-01 21:44:25 649 1
原创 Ubuntu嵌入式开发环境搭建汇总
本篇博客是自己从一个全新安装的ubuntu上一步步搭建内核开发环境的记录汇总,以防以后再次安装系统,查各种博客配置环境。vscode安装sudo vim /etc/apt/sources.list.d/vscode.list 并向里面添加:deb [arch=amd64] http://packages.microsoft.com/repos/vscode stable maincurl https://packages.microsoft.com/keys/microsoft.asc | gpg
2021-01-24 14:17:42 770
原创 设备树学习篇一
设备树的基本概念一、什么是设备树?简单来说,设备树是一种数据结构,它通过特有的语法格式描述片上片外的设备信息。由BootLoader传递给kernel,kernel进行解析后形成和驱动程序关联的dev结构供驱动代码使用。二、那么为什么要使用设备树来替代传统的总线设备驱动模型?首先,传统的总线设备驱动是将设备信息描述在C代码中,这样当要修改驱动相关的硬件信息时,就需要去具体的修改代码文件,然后全体编译内核。这个操作太过繁琐而且不利于代码的维护和移植性。尤其是内核在支持各种soc的硬件平台时,比如s.
2020-08-09 15:16:33 675
原创 IIC总线
I2C总线是PHLIPS公司推出的一种串行总线,I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。 每个接到I2C总线上的器件都有唯一的地址。主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即为发送器。由总线上接收数据的器件则为接收器。I2C总线通信协议要掌握IIC的通信协议,需要掌握以下6点:1.起始信号...
2016-04-08 23:40:51 316
原创 文件编程
include include include include 文件类型:普通文件,链接文件,设备文件,目录文件带缓冲C语言的库函数,不依赖操作系统,任何可以使用C库函数的系统都可以用常用API:FILE *fopen(const char *filename,const char *mode);filename:打开文件的文
2016-04-08 23:34:07 247
原创 数据库sqlite3
数据库(DataBase,简记为DB)就是一个有结构的、集成的、可共享的统一管理的数据集合。数据库管理系统的特点:1.面向应用,2.记录之间没有联系,3.最小存储单位是数据记录数据库系统的三级模式结构:外模式,内模式,模式外模式:和人交互,属于用户模式,模式的子集模式:当前数据库内所有资源的一种表示。(概念性)内模式:数据库在内部的物理存储方式。(物理级)
2016-04-08 23:31:58 370
原创 对进程的简单理解
进程说白了就是正在执行的程序。当一个程序从外存调入内存,操作系统就会为它分配一定的资源,从而创建一个进程。进程被创建后就在内存中等待CPU的处理。这里要讲到进程的三态,一般来说进程有三种状态,分别是等待态,就绪态和执行态。就绪态意味着进程已经具备除CPU之外的所有需要的资源,一旦占有CPU执行,就可以执行。而当进程需要除CPU之外的其他资源的时候,就
2016-04-08 16:06:50 335
原创 网络编程初尝
网络字节序网络上的数据传送为大端字节序,小端字节序的主机需要将文本,整型,浮点型等类型进行字节序转化后才能进行传输字节序转换函数:include uint32_t htonl(uint32_t hostlong); 本地字节序转网络字节序(32位整型)uint16_t htons(uint16_t hostshort); 同上
2016-04-04 22:33:50 462
原创 arm学习笔记-时钟(s3c2451)
主锁相环MPLL作为系统时钟的参考时钟辅助锁相环EPLL作为特殊的功能块的参考时钟MPLL的配置方法OM【0】寄存器配置为0,则时钟源为XTl,配置为1,则时钟源为外部时钟EXTCLKEPLL的配置方法如下图配置CLKSRC【8】,CLKSRC【7】和OM【0】寄存器正常状况下当改变MPLL时,此时会产生一段locktim
2016-04-04 22:26:20 1117
空空如也
skyeye中arm裸机打印helloworld出错
2017-08-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人