嵌入式系统
文章平均质量分 82
c1194758555
这个作者很懒,什么都没留下…
展开
-
Nand Flash寄存器中TACLS、TWRPH0、TWRPH1参数的配置
在Nand Flash寄存器的配置中ACLS、TWRPH0、TWRPH1,这三个参数可能是最让人难以理解的,这里使用的是mini2440开发板Nand Flash的型号为k9f1208。今天找了很多资料并认真的理解了一下这三个参数。首先,ACLS、TWRPH0、TWRPH1三个参数通过NFCONF寄存器设置。其次,ACLS、TWRPH0、TWRPH1三个参数的意义,及如原创 2016-08-11 16:51:40 · 1613 阅读 · 0 评论 -
使用crosstool_NG制作arm-linux交叉编译链
由于一般嵌入式开发系统的存储大小是有限的,通常要在PC机上编译然后下载到目标机上运行,这就需要交叉编译工具链。制作arm-linux交叉编译链一般可以使用crosstool_NG工具。1. 下载crosstool_NG、GCC源码和构建工程1.1 下载最新的crosstool_NG官网:http://crosstool-ng.org/1.2 下载GCC源码链接:https:/原创 2017-03-01 18:44:37 · 6160 阅读 · 0 评论 -
Uboot的移植中遇到的一些问题,及解决方法。
首先感谢tekkamanninja分享的源码:https://github.com/tekkamanninja/u-boot-2010.03-tekkaman,也可以参考友善之臂的移植手册。由于本学期主要学习exyson 4410,对mini2440了解比较少,通过查看数据手册,移植手册,分析源码,学习了uboot的工作原理,启动过程。下面就说一下我遇到的问题,及其解决方法。1原创 2018-06-30 14:30:10 · 4984 阅读 · 2 评论 -
移植vsftpd到ARM开发板
1. 下载源码https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz2. 解压并编译2.1 解压tar -zxvf /home/chy/work/tar/vsftpd-3.0.3.tar.gz -C ./2.2 设置交叉编译环境$ export PATH=/opt/ARM/mys-4279/bin:$PA原创 2017-06-23 21:16:08 · 4909 阅读 · 0 评论 -
移植vim到ARM开发板
1. 下载源码vim: ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2ncurses: https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.0.tar.gz2. 解压到项目主目录$ tar -jxvf ../../../tar/vim-7.4.tar.bz2 vim74/ -C ./ $原创 2017-06-24 16:44:16 · 2774 阅读 · 0 评论 -
交叉编译Qt5.7
0.1 准备(1) 安装交叉编译链,我使用的为:arm-linux-gnueabihf-gcc(2) 交叉编译tslib,我使用的为厂家编译好的tslib,如果使用电阻式触摸屏必须使用tslib。(3) 下载Qt5.7源码包http://download.qt.io/official_releases/qt/5.7/5.7.0/submodules/qt-everywhere-原创 2017-04-10 20:28:03 · 7116 阅读 · 0 评论 -
位置无关代码(PIC)的思考
应用程序必须经过编译、汇编和链接后才变成可执行文件,在链接时,要对所有目标文件进行重定位(relocation),建立符号引用规则,同时为变量、函数等分配运行地址。当程序执行时,系统必须把代码加载到链接时所指定的地址空间,以保证程序在执行过程中对变量、函数等符号的正确引用,使程序正常运行。在具有操作系统的系统中,重定位过程由操作系统自动完成。 在设计Bootloader程序时,必须在裸机环境中进转载 2017-06-15 18:16:55 · 716 阅读 · 0 评论 -
ubuntu16.04 编译安装kscope
1. 下载kscopehttps://jaist.dl.sourceforge.net/project/kscope/kscope/1.9.4/kscope-1.9.4.tar.gz2. 编译并安装$ qmake$ make In file included from viscintilla.cpp:22:0:viscintilla.h:26:27: fatal原创 2017-07-06 17:59:59 · 4574 阅读 · 0 评论 -
DVR 和 NVR 的区别
NVR是接IP camera的录像机,IP camera又分为CIF/D1普通的IP camera与数字百万高清IPcamera DVR的录像效果取决于摄像机与DVR本身的压缩算法与芯片处理能力,而NVR的录像效果则主要取决于IPcamera,因为IPcamera输出的就是数字压缩视频,视频到达NVR时,不需要模数转换,也不需要压缩,只管存储,当要显示与回放才需要解压缩。一> DV转载 2017-08-28 08:49:37 · 8006 阅读 · 0 评论 -
ARM处理器中的char
C标准上char可以带符号也可以不带符号,但是具体的平台又有所不同。在大多数的体系结构中char是带符号的,但是在ARM体系中char是不带符号的其取值范围是0 - 255。如下面的代码: 图一在X86平台: 图二在基于ARM的HI3518原创 2017-08-29 10:21:11 · 1132 阅读 · 0 评论 -
构建根文件系统之瑞士军刀BusyBox
BusyBox是最常用的定制根文件系统的方法,它能够迅速建立一套相对完整、功能丰富的文件系统,其中包括大量常用的用程序。Busybox再设计上充分考虑到了硬件的资源受限的特殊工作环境,采用了将所有的命令通过软连接的方法指向自己的方法来减自己的体积。1. 准备环境1.1 下载BusyBox源码链接: https://busybox.net/downloads/1.2 建立工程目录原创 2017-03-04 19:40:27 · 1040 阅读 · 0 评论 -
移植openssh到mini2440开发板
1. 下载源码(1) openssh-7.4p1.tar.gz下载链接:http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssh.html(2) openssl-1.0.2k.tar.gz下载链接: http://www.linuxfromscratch.org/blfs/view/svn/postlfs/open原创 2017-03-15 20:20:11 · 1116 阅读 · 0 评论 -
mini2440,串口的使用。
从mini2440开发板的原理图可知开发板引出的是uart0,通过查阅数据手册可知uart0的接收、发送引脚是GPH2,GPH3复用。Makefile:obj = start.o init.o uart.o main.ouart.bin:$(obj) arm-linux-ld -Tuart.lds $^ -o uart arm-linux-objcopy -O binary原创 2016-08-11 17:49:23 · 880 阅读 · 1 评论 -
对mini2440存储器的理解和使用
mini2440的内核是32位的处理器理论寻址范围为2^32即4GB,原创 2016-08-08 13:54:35 · 1271 阅读 · 0 评论 -
Mkefile文件编写及点亮两个led的mini2440裸机程序
Makefile的语法规则: target: ....:prerequisites..... commandtarget:目标文件。prerequisites:生成的目标所需要的文件或目标,即生成目标文件所要的依赖。command:make时所执行的命令。GCC: -c 编译或汇编文件,但原创 2016-08-06 23:43:23 · 588 阅读 · 0 评论 -
mini2440中nand falsh的使用
Nand flash复用数据总线和地址总线,并有由相应的控制信号区分。以页为单位读取,块为单位擦除。由于没有完整的数据总线和数据总线,并且不能以字节为单位擦除,所以存储在Nand flash的程序要加载到ARM中执行。mini2440 Nand flash连接: nFCE:使能信号。CLE:控制信号。ALE:地址控制信号。nFWE:写使能信号。nFRE:读使能信号。原创 2016-08-09 22:13:40 · 642 阅读 · 0 评论 -
Nand Flash基础知识与坏块管理机制的研究
概述Flash名称的由来,Flash的擦除操作是以block块为单位的,与此相对应的是其他很多存储设备,是以bit位为最小读取/写入的单位,Flash是一次性地擦除整个块:在发送一个擦除命令后,一次性地将一个block,常见的块的大小是128KB/256KB,全部擦除为1,也就是里面的内容全部都是0xFF了,由于是一下子就擦除了,相对来说,擦除用的时间很短,可以用一闪而过来形容,所以,叫做转载 2016-09-14 09:27:50 · 645 阅读 · 0 评论 -
mini2440之中断控制器
可以说中断是计算机的灵魂,学习中断、使用中断十分的重要。1.中断的处理过程图一 从图中可以看出有两条路径可以进入中断,当多个中断公用一个入口时需要走第一条路径,在子中断源登记寄存器(SUBSRCPND)登记中断(把相应的位置1),子中断源屏蔽寄存器(SUBMASK)如果置相应位1则屏蔽中断,若置0则能够进入源中断登记寄存器(SRCPND)。一个中断一原创 2016-12-31 18:41:18 · 509 阅读 · 0 评论 -
交叉编译Qt5.8
arm平台:BeagleBone Black编译平台:ubuntu16.04交叉编译工具:arm-Linux-gnueabihfqt源码:qt-everywhere-opensource-src-5.8.0.tar.gz设置arm-linux-gnueabihf路径[plain] view plain copy~$ vim转载 2017-03-31 20:01:53 · 7037 阅读 · 1 评论 -
交叉编译libxml2-2.9.4
1. 下载libxml2-2.9.4.tar.gzhttp://xmlsoft.org/sources/libxml2-2.9.4.tar.gz2. 配置并编译libxml$ ./configure --prefix=$work --host=arm-chy-linux-gnueabihf CC=arm-chy-linux-gnueabihf-gcc CXX=arm-c原创 2017-06-29 14:01:02 · 4388 阅读 · 0 评论 -
浅谈SPI总线
SPI总线概述 SPI全称是串行外设接口(Serial Peripheral Interface),是由Motorola提出的一种全双工同步串行通信接口,通信波特率可以高达5Mbps,但具体速度大小取决于SPI硬件。SPI接口具有全双工操作,操作简单,数据传输速率较高的优点,但也存在没有指定的流控制,没有应答机制确认是否接收到数据的缺点。 SPI总线的构成及转载 2017-06-22 15:14:17 · 1774 阅读 · 0 评论 -
构建根文件系统
1. 下载busyboxhttps://busybox.net/downloads/busybox-1.31.0.tar.bz22. 配置、编译、安装busybox2.1 配置busybox$ make menuconfig1) 选择静态编译2)交叉编译工具路径2.2 编译$ make CROSS_COMPILE=mips-linux-gnu- ARCH=mip...原创 2019-08-01 18:52:30 · 568 阅读 · 0 评论