自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (1)
  • 收藏
  • 关注

原创 支持WebDav的网盘infiniCloud(静读天下,Zotero 等挂载)

现在支持WebDav的网盘比较少,支持的网盘大部分限制也比较多,这里给大家介绍一个支持WebDav的网盘,可以领25G免费空间。

2024-06-23 20:52:23 486

转载 misc设备驱动模型

misc是对原始的字符设备注册接口的一个类层次的封装,很多典型字符设备都可以归类到misc类中,使用misc驱动框架来管理。这套驱动框架,内核实现一部分(Misc.c (kernel\drivers\char) ),驱动实现一部分(比如x210-buzzer.c)。

2017-02-09 13:37:49 841

转载 Linux平台总线驱动设备模型

platform总线是一种虚拟的总线,相应的设备则为platform_device,而驱动则为platform_driver。Linux 2.6的设备驱动模型中,把I2C、RTC、LCD等都归纳为platform_device。

2017-02-08 18:05:58 473

原创 内核移植问题集锦

问题1:公板移植文件的选择开发板是三星公司的SMDKV210,所以在kernel/arch/arm/configs目录下选择smdkv210_android_defconfig作为默认配置文件。 开发板的CPU是ARM公司的s5pv210,所以在arch/arm/mach-s5pv210目录下选

2017-01-26 22:40:01 703

转载 DECLARE_WAITQUEUE 将进程加入等待队列

DECLARE_WAITQUEUE 将进程加入等待队列

2017-01-04 19:08:04 1710

原创 ARM跳转指令B的反汇编分析

使用b或bl跳转时,下一条指令的地址是这样计算的,将指令中24位带符号的补码扩展为32位(扩展其符号位);然后将此32位数左移2位;最后将得到的值加到pc寄存器中,即得到跳转的目标地址。

2016-12-13 18:46:32 2231

转载 SDRAM的芯片容量表示方法

SDRAM的内部是一个存储阵列。因为如果是管道式存储(就如排队买票),就很难做到随机访问了。 阵列就如同表格一样,将数据“填”进去,你可以把它想象成一张表格。和表格的检索原理一样,先指定一个行(Row),再指定一个列(Column),我们就可以准确地找到所需要的单元格,这就是内存芯片寻址的基本原理。对于内存,这个单元格可称为存储单元,那么这个表格(存储阵列)叫什么呢?它就是逻辑Bank(Logical Bank,下文简称L-Bank)。

2016-12-11 16:43:23 2240

转载 ARM GNU 汇编伪指令简介

Linux下ARM汇编语法尽管在Linux下使用C或C++编写程序很方便,但汇编源程序用于系统最基本的初始化,如初始化堆栈指针、设置页表、操作 ARM的协处理器等。初始化完成后就可以跳转到C代码执行。需要注意的是,GNU的汇编器遵循AT&T的汇编语法,可以从GNU的站点(www.gnu.org)上下载有关规范。

2016-12-07 10:57:44 2526

原创 ARM的四种堆栈

ARM的四种堆栈类型,分别为满递增,空递增,满递减,空递减。

2016-12-07 09:29:24 3256

原创 SRAM、DRAM、NorFlash、NandFlash

SRAM、DRAM、NorFlash、NandFlash的比较

2016-12-06 10:56:02 4234

转载 汇编文件 .s 和 .S 区别

小写的 s文件,在后期阶段不会再进行预处理操作了,所以我们不能在其内写上预处理语句。大写的 S 文件,还会进行预处理、汇编等操作,所以我们可以在这里面加入预处理的命令。编译器在编译汇编大 S 文件之前会进行预处理操作。

2016-11-30 18:37:54 11785

转载 ioremap映射的问题

ioremap 写驱动最常用的函数之一,但是对它始终一知半解,看了内核关于这部分的代码,功力不够也是一头雾水。本文通过实验的方法,了解 ioremap 到底干了些啥,本文献给那些看不懂内核源代码,还想知道 ioremap 能干些什么,干了些什么的同学。

2016-11-25 16:58:10 8859 1

原创 nfs方式启动rootfs配置过程

这里使用nfs主要是做rootfs挂载。开发板中运行kernel做nfs客户端,宿主机中运行nfs服务。在宿主机的nfs服务器中导出文件夹形式的rootfs目录,在客户端中去挂载这个文件夹形式的rootfs进而去启动系统。

2016-11-17 18:57:59 5133 2

转载 嵌入式Linux根文件系统

根文件系统一直以来都是所有类Unix操作系统的一个重要组成部分,也可以认为是嵌入式Linux系统区别于其他一些传统嵌入式操作系统的重要特征,它给 Linux带来了许多强大和灵活的功能,同时也带来了一些复杂性。我们需要清楚的了解根文件系统的基本结构,以及细心的选择所需要的系统库、内核模块和应用程序等,并配置好各种初始化脚本文件,以及选择合适的文件系统类型并把它放到实际的存储设备的合适位置。

2016-11-17 10:00:38 746

转载 VFS,内核,文件系统的层次结构

文件系统是对一个存储设备上的数据进行组织的机制。这种机制有利于用户和操作系统的交互。尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具。在Linux没有文件系统的话,用户和操作系统的交互也就断开了,例如我们使用最多的交互shell,包括其它的一些用户程序,都没有办法运行。在这里可以看到文件系统相对于Linux操作系统的重要性。

2016-11-17 09:23:38 1156

原创 ubuntu 配置 nfs 服务器

环境: ubuntu 14.04IP: 192.168.1.116注:系统已经关闭了防火墙:ufw disable,否则会报错。步骤1 安装 NFS$ sudo apt-get install nfs-kernel-server$ sudo apt-get install nfs-common步骤2 配置/etc/exportsNFS允许挂载的目

2016-11-10 14:42:18 625

转载 ubuntu14.04 配置 tftp 服务器

首先需要安装 tftp-hpa,tftpd-hpa,前者是客户端,后者是服务程序,在终端下输入 sudo apt-get install tftp-hpa tftpd-hpa,安装 tftp-hpa 和 tftpd-hpa。然后还需要安装 xinetd,在终端下输入 sudo apt-get install xinetd,安装好 xin

2016-11-10 14:28:28 2854

转载 在Linux终端里使用wget下载百度云盘共享资源

在Linux终端里使用wget下载百度云盘共享资源

2016-11-06 21:05:38 9365

原创 内核启动流程2——C语言部分

注:本文是学习朱老师课程整理的笔记,基于linux2.6.35.7和九鼎X210BV3S开发板进行移植。C语言部分的代码是与硬件结构无关的代码。从start_kernel函数开始到第一个用户进程init结束,过程中调用了一系列的初始化的函数对所有的内核组件进行初始化。其中,start_kernel、rest_init 、kernel_init、init_post等4个函数构成了整个初始化过程的主线。

2016-11-06 11:46:10 622

原创 内核启动流程1——汇编部分

注:本文是学习朱老师课程整理的笔记,基于linux2.6.35.7和九鼎X210BV3S开发板进行移植。汇编阶段主要就是校验启动合法性、建立段式映射的页表并开启MMU以方便使用内存、跳入C阶段。

2016-11-05 16:01:03 750

转载 arm汇编指令之LDR 和 ADR的一些区别

arm汇编指令之LDR 和 ADR的一些区别

2016-11-04 18:58:10 6755

转载 ARM指令-条件执行及标志位

ARM指令-条件执行及标志位

2016-11-04 16:14:50 5837

原创 ARM寄存器R13/R14/R15

ARM寄存器R13/R14/R15

2016-11-04 10:20:34 8620

转载 arm汇编指令之数据块传输(LDM,STM)详解

arm汇编指令之数据块传输(LDM,STM)

2016-11-03 15:25:46 1997

原创 嵌入式开发学习路线

下面给出相关的学习资料,资料出现的顺序,也就是我们学习的顺序。1. C程序设计语言C语言作者写的书,超级精简。因为精简,所以,这本书要很认真的读。不要求快,要细嚼慢咽,要多思考,要从头到尾(包括附录)的读。2. Unix环境高级编程 知名的Unix编程书籍。学完这本书,对一般的Linux应用开发,基本上可以达到得心应手的地步。3. Unix网络编程 第3版 第1卷知名的Unix编程书籍。学完

2016-11-02 22:22:09 1075

原创 Kconfig文件详解

注:本文是学习朱老师课程整理的笔记,基于linux2.6.35.7和九鼎X210BV3S开发板进行移植。Kconfig文件详解,Kconfig和.config文件和Makefile三者的关联。

2016-10-31 18:46:38 15786

原创 Linux内核配置和编译

注:本文是学习朱老师课程整理的笔记,基于linux2.6.35.7和九鼎X210BV3S开发板进行移植。

2016-10-31 15:56:56 2041

原创 三星官方uboot移植实战2

注:本文是学习朱老师课程整理的笔记,基于linux2.6.35.7和九鼎X210BV3S开发板进行移植。网卡驱动移植;设置bootargs启动内核;看不到启动内核的信息;启动内核显示不识别的SD版本号。

2016-10-31 11:04:32 779

转载 重装Source Insight 3.5出现问题

首先之前系统中Source Insight 3.5都是可以用的。后来在重装Source Insight 3.5的时候,一切都很顺利,在装完的最后,弹出“An invalid source insight serial number was detected”,然后Source Insight 就直接闪退了,采用如下办法成功解决该问题:修改注册表1、打开注册表,运行->regedit,3

2016-10-29 12:07:48 1772

转载 arm的异常、中断和arm工作模式的联系

说到异常向量,会让人联想到中断向量。其实,中断是属于异常的子集的,也就是说中断其实是异常其中的一种。回到异常向量,他其实是一张表格,每个格子里存放的是一个地址,或者是一个跳转命令,不管是哪个,其目的都是让PC跳转到真正处理异常的代码的地方。以下是arm的异常向量表:图1初步介绍完异常向量,就来对比下ARM的arm的7种工作模式:图2U

2016-10-28 09:32:05 817

原创 三星官方uboot移植实战1

注:本文是学习朱老师课程整理的笔记,基于linux2.6.35.7和九鼎X210BV3S开发板进行移植。烧录时报错;修改banner信息;串口无输出但是开发板供电锁存成功;DDR配置信息的更改;串口打印显示SD/MMC有问题;更改控制台串口;修改默认网络地址;修改行提示符。

2016-10-27 19:48:45 1906

原创 linux内核源码目录结构分析

注:本文是学习朱老师课程整理的笔记,基于linux2.6.35.7和九鼎X210BV3S开发板进行移植。

2016-10-26 09:14:38 9126

原创 VMware上ubuntu14.04上网问题

虚拟机上网有2种模式,NAT和桥接。NAT方式上网配置过程前提是主机windows通过无线wifi上网了(或者windows通过有线上网也可以)。然后配置以下:1.选择虚拟机上网为NAT方式;2.配置ubuntu的/etc/network/inerfaces文件中使用dhcp方式;3.第三重启网卡,确认ip地址得到后即可上网。设置ip

2016-10-24 16:26:08 5340

转载 函数的可重入性理解

一、维基百科解释 若一个程序或子程序可以安全的被并行执行,则称其为可重入(reentrant或re-entrant)的;即当该子程序正在运行时,可以再次进入并执行它。若一个函数是可重入的,则该函数必须满足一下必要条件: 1、不能含有静态(全局)非常量数据。 2、不能返回静态(全局)非常量数据的地址。 3、只能处理由调用者提供的数据。

2016-10-22 21:59:03 834

原创 uboot的环境变量

有关于环境变量的所有操作,主要理解了环境变量在DDR中的存储方法,理解了环境变量和gd全局变量的关联和优先级,理解了环境变量在存储介质中的存储方式,整个环境变量相关的都清楚了。

2016-10-20 21:50:11 1803

原创 uboot命令体系和命令的执行

uboot的命令体系本身稍微复杂,但是他写好之后就不用动了。在移植uboot时也不会去动uboot的命令体系,最多就是向uboot中去添加命令。

2016-10-19 22:24:41 1088

原创 zImage和uImage的区别联系

linux内核经过编译后会生成一个elf格式的可执行程序,叫vmlinux或vmlinuz,这个就是原始的未经任何处理加工的原版内核elf文件;嵌入式系统部署时烧录的一般不是这个vmlinuz/vmlinux,而是要用objcopy工具去制作成烧录镜像格式,经过制作加工成烧录镜像的文件就叫Image(这个制作烧录镜像主要目的就是缩减大小,节省磁盘)。

2016-10-17 15:20:29 14107 1

原创 uboot如何启动内核

第一步:将内核搬移到DDR中;第二步:校验内核格式、CRC等;第三步:准备传参;第四步:跳转执行内核。

2016-10-17 15:11:53 1153

原创 uboot之start_armboot分析4

console_init_r ,enable_interrupts ,loadaddr、bootfile ,board_late_init ,eth_initialize ,x210_preboot_init,check_menu_update_from_sd ,main_loop

2016-10-16 21:38:46 496

原创 uboot之start_armboot分析3

mem_malloc_init ;mmc_initialize ;env_relocate ;gd->bd->bi_ip_addr ;gd->bd->bi_enetaddr ;devices_init ;jumptable_init ;

2016-10-15 21:52:03 769

数据库系统课件(战德臣)_2.7z

《数据库系统》不仅是计算机、软件工程等专业的核心课程,而且也是非计算机专业学生必修的信息技术课程。当前互联网+与大数据,一切都建立在数据库之上,以数据说话,首先需要聚集数据、需要分析和管理数据。数据库技术已成为各种计算系统的核心技术,数据库相关知识也已成为每个人必须掌握的知识。 战德臣老师mooc视频配套课件。

2019-09-15

空空如也

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

TA关注的人

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