
Linux驱动开发
Utotao
不积跬步无以至千里
展开
-
【内核移植】内核裁剪
step1:原创 2019-05-06 21:34:12 · 601 阅读 · 0 评论 -
s3c2440异常与中断
1.s3c2440模式与状态1.1.模式ARM一共有7种模式 1. usr模式用户模式是给写应用程序的人使用的,防止他们破坏操作系统。 2. sys模式 3. undefined模式 4. svc管理模式 5. abort中止模式:① 指令预取中止;② 数据访问中止 6. IRQ中断模式 7. FIQ快中断模式这六种模式称为特权模式(privileged mode),在...原创 2019-03-01 21:50:00 · 782 阅读 · 0 评论 -
s3c2440代码重定位
参考文章:[1].第013课 S3c2440代码重定位详解[2].s3c2440学习之路-011代码重定位[3].arm汇编指令集整理[4].汇编运行地址,链接地址,加载地址,存储地址 位置无关码、位置有关码感想:这个部分好多好好看,多看几遍,融汇贯通,彻底理解1、几个概念(1)运行地址、加载地址① 运行地址<—>链接地址:他们两个是等价的,只是两种不同的说法。运行地...原创 2019-02-24 17:24:04 · 793 阅读 · 0 评论 -
s3c2440串口基本使用
如何编写UART程序呢?1、串口初始化step1:设置引脚① 设置引脚用于串口.GPH2,3用于TX0,RX0清位,然后设置② 设置TX0,RX0内部上拉,即配置GPHUP寄存器step2:设置波特率(UBRDIV0)— 115200 ==PCLK=50MHz=> UBRDIV0 = 26① 设置UCON0 — 选择时钟为PCLK,中断/查询模式② 设置波特率分频寄存器UBR...原创 2019-02-11 21:45:24 · 822 阅读 · 0 评论 -
s3c2440注意事项
1.数据手册参照英文为准,中文用来辅助,使用过程中发现中文版本有很多和英文版本不一致的情况。原创 2019-02-22 15:12:49 · 188 阅读 · 0 评论 -
jz2440 设置qt程序开机自启动
1. 进入/etc目录vi run.sh//把环境变量文件里面的内容放到这里//添加可执行程序语句,其中/usr是存放可执行程序armqt的位置./usr/armqtchmod +x run.sh 添加可执行属性2. vi inittab控制台上面添加执行run.sh的语句,控制台将无法初始化如果在下面添加的话,控制台应该可以出来3. reboot,成...原创 2019-05-07 09:55:28 · 469 阅读 · 0 评论 -
Windows访问Linux服务器共享文件夹--Samba
使用Linux服务器进行开发时,需要把文件传到服务器上,一般使用FileZilla等类似软件,但如果只是.c文件,每次只是修改了一点点,再使用这种软件倒腾一下,就很浪费时间了,所以我们使用Samba建立Linux共享文件夹以供在windows本地直接操作服务器的文件,提升工作效率。环境说明:Linux服务器:腾讯云,假设IP为40.111.111.111windows系统:win7...原创 2019-09-15 10:48:35 · 4980 阅读 · 0 评论 -
存储控制器
总线的使用方法是嵌入式底层开发的基础,了解它以后,再根据外设的具体特性,就可以驱动该外设了。原创 2019-09-27 11:40:25 · 354 阅读 · 0 评论 -
内存管理单元MMU
参考文献:[1] 《嵌入式系统软件和操作系统》本博客主要回答这几个问题:1. 虚拟地址和物理地址有什么关系?2. 如何通过设置MMU来控制虚拟地址到物理地址的转化3. MMU的内存访问权限机制4. TLB、Cache、Write buffer的原理,使用时的注意事项MMU提供一种内存保护的硬件机制。内存保护用来防止地址越界和防止操作越权。采用内存保护机制的每个应用程序都...原创 2019-09-27 11:42:11 · 739 阅读 · 0 评论 -
嵌入式操作系统
参考:[1] 《嵌入式系统软件及操作系统》1、嵌入式操作系统的功能在嵌入式系统中工作的操作系统被称为EOS(Embedded Operating System,嵌入式操作系统),EOS的基本功能主要是:构建一个易于编程的虚拟平台; 系统资源的管理者。2、嵌入式操作系统的分类1. 按系统类型分商业化系统 专用系统 开放源代码系统2. 按相应时间分按照系统对响应时...原创 2019-10-06 21:24:58 · 2701 阅读 · 1 评论 -
解决undefined reference to `__aeabi_uidiv'
对于为定义函数的问题,有以下三种解决方案:去uboot中查找区内和源码中查找去库函数中查找,一般编译器自带很多库函数这里采用第三种方案:去arm-linux-gcc中查找函数__aeabi_uidiv进入工具链所在目录echo $PATH,进入到bin目录的上一层目录使用grep命令搜索包含函数__aeabi_uidiv的.a静态库文件 grep "__aeabi_uidiv" ...原创 2019-03-08 16:32:02 · 2113 阅读 · 1 评论 -
s3c2440 sdram初始化
1. 内存类接口内存控制器作用:CPU把地址发送给内存控制器----》内存控制器根据地址选择不同的模块—》把数据发送给模块/从模块中取出数据2.不同位宽设备的连接3.时序图分析4.SDRAM初始化关于SDRAM的知识可以参考:(1)寄存器设置① BWSCON = 0x02000000② BANKCON6 = 0x8001③ REFRESH = 0x8404F5④ ...原创 2019-03-07 17:42:52 · 484 阅读 · 0 评论 -
【内核移植】添加yaffs文件系统到内核
step1:原创 2019-05-06 21:32:46 · 271 阅读 · 0 评论 -
【驱动移植】触摸屏驱动移植
step1 : 安装qt触摸屏支持tslibstep2 : 修改内核添加触摸屏支持此处所遇到的问题:(1)selected device is not a touchscreen I understandselected device is not a touchscreen I understand这是因为:在使用高版本内核的时候遇到“selected device ...原创 2019-05-06 21:29:01 · 805 阅读 · 0 评论 -
【驱动移植】DM9000网卡驱动移植
step1:原创 2019-05-06 21:26:52 · 408 阅读 · 0 评论 -
【文件系统制作】制作jffs文件系统
最近在写专利,中期答辩前的必备材料还差一篇论文......抽一个周五的晚上来完善一下之前留下的坑,慢慢来吧,先把这些弄完,希望可以在下月中旬之前把论文弄好,然后专心学习...好运1、Linux根文件系统基本目录/bin : 该目录存放所有用户都可以使用的、基本的命令,这些命令可以在挂接其他文件系统之前就可以使用,所以/bin目录必须跟文件系统在同一个分区中 /sbin : 该目录...原创 2019-05-06 21:24:19 · 784 阅读 · 0 评论 -
【u-boot移植】编译u-boot
step1:原创 2019-05-06 21:23:06 · 448 阅读 · 0 评论 -
【内核移植】编译内核文件uImage
了解内核源码结构,了解内核启动过程 掌握内核配置方法 移植内核同时支持S3C2410、S3C2440 掌握MTD设备分区方法 掌握YAFFS文件系统的移植方法准备:Linux内核下载:Linux内核官网1、内核源码结构及Makefile分析1.1 Linux内核源码结构目录名 描述 arch 体系结构相关的代码,对于每个架构的CPU,arch目录下有一个...原创 2019-05-06 21:21:50 · 1201 阅读 · 0 评论 -
s3c2440时钟管理
1.时钟结构主时钟源来自一个外部晶振(XTIpll)或外部时钟(EXTCLK)。时钟发生包含了一个连接到外部晶振的振荡器(震荡放大器),还含有S3C2440A 所必须的两个用于产生高频率时钟的 PLL(锁相环)2.时钟源选择3.锁相环PLL出时钟频率 Mpll 相关参考输入时钟频率 Fin 有如下等式:Mpll = ( 2 × m × Fin ) / ( p × 2^s )m...原创 2019-02-21 15:38:36 · 450 阅读 · 0 评论 -
Linux配置tftp和nfs
个人喜欢在下载的时候使用tftp命令,因为命令比较简单。但是在挂接文件的时候,就得用到nfs了。参考文章:[1]在Linux系统下通过TFTP或NFS烧写内核[2]Ubuntu16.04NFS配置与ARM开发板互传文件_挂载和卸载1、tftp1.1 什么是tftpTFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议...原创 2019-05-19 09:44:35 · 553 阅读 · 0 评论 -
JZ2440移植Qt
历时一个五一假期,终于把这个移植给搞定了,流程如下。坑有很多,祝你好运....我先慢慢把框架搭起来,尽量精简,让文章简单易懂,一点点填充...参考文章:[1]移植QT5.6到嵌入式开发板[2]JZ2440(V3)移植QT5.6第一步:制作u-boot(百度云提取码:346v),烧写进NAND Flash BootLoader分区具体制作u-boot,参考下篇博客:【u-...原创 2019-05-05 12:07:21 · 1288 阅读 · 0 评论