自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 378 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 1861

原创 使用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 533 1

原创 vim配置总结

本篇博客主要包含我使用的vim配置和相关插件。也作一个常用vim快捷键的记录

2021-01-25 11:52:58 431

原创 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 700

原创 设备树学习篇一

设备树的基本概念一、什么是设备树?简单来说,设备树是一种数据结构,它通过特有的语法格式描述片上片外的设备信息。由BootLoader传递给kernel,kernel进行解析后形成和驱动程序关联的dev结构供驱动代码使用。二、那么为什么要使用设备树来替代传统的总线设备驱动模型?首先,传统的总线设备驱动是将设备信息描述在C代码中,这样当要修改驱动相关的硬件信息时,就需要去具体的修改代码文件,然后全体编译内核。这个操作太过繁琐而且不利于代码的维护和移植性。尤其是内核在支持各种soc的硬件平台时,比如s.

2020-08-09 15:16:33 615

原创 IIC总线

I2C总线是PHLIPS公司推出的一种串行总线,I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。 每个接到I2C总线上的器件都有唯一的地址。主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即为发送器。由总线上接收数据的器件则为接收器。I2C总线通信协议要掌握IIC的通信协议,需要掌握以下6点:1.起始信号...

2016-04-08 23:40:51 270

原创 文件编程

include include include include 文件类型:普通文件,链接文件,设备文件,目录文件带缓冲C语言的库函数,不依赖操作系统,任何可以使用C库函数的系统都可以用常用API:FILE *fopen(const char *filename,const char *mode);filename:打开文件的文

2016-04-08 23:34:07 222

原创 数据库sqlite3

数据库(DataBase,简记为DB)就是一个有结构的、集成的、可共享的统一管理的数据集合。数据库管理系统的特点:1.面向应用,2.记录之间没有联系,3.最小存储单位是数据记录数据库系统的三级模式结构:外模式,内模式,模式外模式:和人交互,属于用户模式,模式的子集模式:当前数据库内所有资源的一种表示。(概念性)内模式:数据库在内部的物理存储方式。(物理级)

2016-04-08 23:31:58 318

原创 对进程的简单理解

    进程说白了就是正在执行的程序。当一个程序从外存调入内存,操作系统就会为它分配一定的资源,从而创建一个进程。进程被创建后就在内存中等待CPU的处理。这里要讲到进程的三态,一般来说进程有三种状态,分别是等待态,就绪态和执行态。就绪态意味着进程已经具备除CPU之外的所有需要的资源,一旦占有CPU执行,就可以执行。而当进程需要除CPU之外的其他资源的时候,就

2016-04-08 16:06:50 314

原创 网络编程初尝

网络字节序网络上的数据传送为大端字节序,小端字节序的主机需要将文本,整型,浮点型等类型进行字节序转化后才能进行传输字节序转换函数:include uint32_t htonl(uint32_t hostlong);   本地字节序转网络字节序(32位整型)uint16_t htons(uint16_t hostshort);  同上

2016-04-04 22:33:50 425

原创 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 1082

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除