
玩转FL2440开发板
文章平均质量分 70
PipiAvenger
对Linux方面感兴趣,并且有一定的C语言基础
展开
-
玩转开发板--CH341串口编程及测试
开发环境:CentOS6.7(虚拟机)交叉编译器:arm-linux-gcc gcc version 4.4.6 (crosstool-NG 1.16.0)开发板fl2440(内核版本-linux-3.0)开发模块:SIM900 GPRS串口编程: 编写串口需要注意的点: 1.串口为串行通信,全双工,异步通信,因此需要了解它的异步通信的速率;...原创 2018-05-05 18:05:07 · 3678 阅读 · 1 评论 -
玩转开发板--常见的tftp网络下载错误归纳以及注意事项
------------------------------------------------------------准备软件:tftpd32 并且打开下载地址:http://tftpd32.jounin.net/download/tftpd32.452.zip下载并解压开发板:Fl2440(arm系列)--------------------------------------...原创 2018-03-26 18:49:46 · 3282 阅读 · 0 评论 -
玩转开发板--diff和pitch命令的使用
diff和pitch命令解析 diff和patch是一对工具,使用这对工具可以获取更新文件与历史文件的差异,并将更新应用到历史文件上。在数学上说,diff就是对两个集合的差运算,patch就是对两个集合的和运算。在数学上我们知道:A-B = C,这样我们知道A、B、C中任意两个数就可以得出第三个数;因此这两个命令常用来制作补丁。假设u-boot-2010.09(A)是官方下载解压缩后...原创 2018-03-26 17:11:52 · 728 阅读 · 0 评论 -
玩转开发板--fl2440的详解补充
补充位置到:http://blog.youkuaiyun.com/PipiAvenger/article/details/79563996一.S3C2440内存映射 S3C2440对外引出了27根地址线ADDR0~ADDR26,它最多能够寻址128MB,而S3C2440的寻址空间可以达到1GB,这是由于S3C2440将1GB的地址空间分成了8个BANKS(Bank0~Bank7),其中每一个B...原创 2018-03-22 13:21:29 · 627 阅读 · 0 评论 -
玩转开发板--硬件基础和常见的通信协议
一.开发板的存储系统参考:http://blog.youkuaiyun.com/PipiAvenger/article/details/79563996二.开发板上的arm处理器注: CPU(累加器)的要处理的数据是从cache中读取,而cache中的数据是从内存中读取。影响cpu处理速度的另一个因素是cache。cache速度(100MHz)接近CPU(400MHz)的速度。...原创 2018-03-22 13:08:22 · 5299 阅读 · 1 评论 -
玩转开发板--Linux系统移植至开发板fl2440实践过程
一.开发板介绍 CPU:S3C2440(SAMSUNG)、ARM920T、400MHz Pone/mic:耳机和话筒 JTAG:可以通过外部插入直接控制CPU,因此在初始化内存时,起到重要作用。 ADC:采样A模拟,D数字,C转换。 EEPROM:电可擦可编程只读存储器(可存放MAC地址)。 LCD:电阻式屏幕。 CAMEAR...原创 2018-03-15 11:27:04 · 1807 阅读 · 1 评论 -
GPRS--ubifs系统的制作
前言:在根文件目录制作完成后,我们制作了initramfs内核启动系统,明白该系统的缺点不适合长期的开发,因此引入了移植ubifs系统这个想法,该系统的好处,读者们可自行百度,是目前较为流行的嵌入式根文件系统;Linux内核MTD对同一Flash分区提供了两种设备文件给用户层使用,一种是/dev/mtdblockX块设备,该设备用来建立文件系统并挂载起来使用;另外一种相对应的/dev/mt...原创 2018-09-05 17:37:17 · 338 阅读 · 0 评论 -
GPRS模块--完整的内核修改兼容GPRS模块
前言:重新梳理了添加GPRS模块的过程,以下对linux3.0内核进行的完整修改,用于兼容GPRS模块的同时,兼容ubifs根文件类型的系统;在开发板可以跑通linuxrom-s3c2440的基础上进行修改:[guozhihao@localhost ~]$ cd Desktop/fl2440/linux/linux-3.0 //到源码文件夹下进行修改[guozhih...原创 2018-09-05 14:27:40 · 647 阅读 · 0 评论 -
GPRS--手动拨号编程
前言: 喔,终于熬过了期末考和实习,终于有属于自己的时间了,为了巩固之前的知识,就特此编写一个程序来实现这个功能;ps:程序本就是用来替代人手动的过程嘛。 前面我们实现了手动拨号上网,因此熟悉了拨号上网的流程,因此我们可以用程序来实现这个流程。拨号流程:1.工具准备2.软件准备3.连接准备4.手动拨号连接5.检查连接是否成功6.断开连接具体细节可参考我的pppd拨号连接博客:h...原创 2018-07-16 15:09:48 · 537 阅读 · 0 评论 -
GPRS模块--PPP手动拨号
前言: fl2440开发板介绍:https://blog.youkuaiyun.com/PipiAvenger/article/details/79563996 目前,手机端基本普遍具有GPRS模块,该模块集成了手机常见的功能如:打电话、发短信、上网等功能,那么这些常见的功能能否提供给安装了Linux最小系统的开发板使用呢?答案是肯定的,当然要实现1个模块添加到一个新的开发板上,这需...原创 2018-06-14 18:31:46 · 4862 阅读 · 0 评论 -
玩转开发板--交叉编译器的使用
一.交叉编译器简介 1.交叉编译器概念 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器叫做交叉编译器,这个编译过程就叫交叉编译。简单的说,就是在一个平台上生成另一个平台上的可执行代码。 1.2GNU编译器工具链 GNU工具链中包括编译器(cc)、连接器(ld)、汇编器(as)以及调试器(gdb)等。 ...原创 2018-03-26 19:23:44 · 1041 阅读 · 0 评论 -
玩转开发板--最简单的根文件系统树的制作-1
烧录的对象:FL2440 FL2440开发板是飞凌公司使用三星ARM9 S3C2440 CPU做的一个ARM Linux学习开发板,该CPU是使用armv4t指令集的ARM920T核,工作主频最高在400MHZ。 使用的是SecureCRT来远程操作自己的虚拟机。 具体详细介绍请参考:https://blog.youkuaiyun.com/pipiavenger/article/...原创 2018-04-01 15:02:02 · 322 阅读 · 0 评论 -
玩转开发板--简单的字符设备
一.前言: 开发环境:CentOS6.7(虚拟机); 开发板fl2440使用的Linux版本3.0最小内核; 编写驱动原则:只提供机制,不实现功能; Linux内核将设备按照访问特性分为三类:字符设备、块设备、网络设备; 字符设备(本次学习目标) 一个字符设备是一种可以当做一个字节流来存取的设备(如同一个...原创 2018-04-25 22:14:04 · 557 阅读 · 0 评论 -
玩转开发板--入门驱动hello模块测试篇
一.前言 学习内核编程的最简单的方式也许就是写个内核模块:一段可以动态加载进内核的代码。 二.测试 注:在哪一个环境一下就要用哪一个环境下的内核编译器 在x86环境下: uname -r可以查看该虚拟机的内核编译器: 具体位置在/lib/modules/下: 使用命令lsmod可以查看...原创 2018-04-15 16:31:48 · 589 阅读 · 0 评论 -
玩转开发板--几种常见的根文件系统的介绍
前言 根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但是相对于普通的文件系统而言它还是内核启动时所挂载(mount)的第一个文件系统,系统引导启动程序会在根文件系统挂载之后把一些初始化脚本(如inittab、rcS)和服务器加载到内存中去运行。我们要明白文件系统和内核是完全独立的两个部分。 在Linux中将一个文件与一个存储设备...转载 2018-04-09 15:24:55 · 1645 阅读 · 0 评论 -
玩转开发板--最简单的根文件系统树的制作-7
Linux内核使用initramfs文件系统启动 initramfs是Linux开发的一种基于内存的根文件系统,在编译Linux内核的时候,它会直接把根文件系统树打包进内核的镜像文件中(zImage),这也意味着该镜像文件同时包含了Linux内核和根文件系统。因为根文件系统是内核打包进去的,所以内核自己知道根文件系统的位置,这样u-boot也就不需要通过bootargs参数告...原创 2018-04-01 16:58:56 · 361 阅读 · 0 评论 -
玩转开发板--最简单的根文件系统树的制作-6
创建/etc路径下文件 6.1创建/etc/initab文件 Linux内核自举启动完成之后,最后将创建init进程并执行根文件系统中的/init或/initrc程序,该程序解析并执行/etc/inttab配置文件,在此文件中配置了init进程在系统启动要启动哪些应用程序。 [guozhihao@localhost rootfs]$ cd ~/gitee/fl2440...原创 2018-04-01 16:45:17 · 620 阅读 · 0 评论 -
玩转开发板--最简单的根文件系统树的制作-5
5.创建/var路径下文件 /var路径下会存放系统运行时的一些文件,我们在该路径下创建相应的符号链接到/tmp路径下。/var 文件系统包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的。原来 /var 目录中有些内容是在 /usr 中的,但为了保持 /usr 目录的相对稳定,就把那些需要经常改变的目录放到 /var 中了。每个系统是特定的,即不通过网络与...原创 2018-04-01 16:21:00 · 248 阅读 · 0 评论 -
玩转开发板--最简单的根文件系统树的制作-4
创建/dev路径下的设备节点 Linux下所有的东西都是文件,其中设备也是当作文件来处理。/dev路径下存放所有Linux的设备文件,我们需要使用root权限执行mknod命令在这里创建系统启动必须的设备节点,其他的设备节点将有mdev动态创建。 [guozhihao@localhost rootfs]$ cd ~/gitee/fl2440/linux/rootfs/ ...原创 2018-04-01 15:49:27 · 269 阅读 · 0 评论 -
玩转开发板--最简单的根文件系统树的制作-3
安装busybox Linux系统在执行一条命令时,默认会到/bin、/sbin、/usr/bin、/usr/sbin这些路径下找,如果找不到则提示command not found,当然我们也可以通过PATH环境变量告诉系统其他命令存放的路径,现在根文件系统树下这些路径并没有Linux系统相关命令,这时我们就需要下载命令来满足我们的需求: BusyBox是一个集成了一百多个常用Linu...原创 2018-04-01 15:39:38 · 372 阅读 · 0 评论 -
玩转开发板--最简单的根文件系统树的制作-2
安装动态库 Linux下所有的应用程序都离不开动态库,程序在运行时默认会在/lib路径下查找相关的动态库文件。如果动态文件不在该路径,可以通过修改LD_LIBRARY_PATH环境变量(可参考LP0)来指定其他需要加载的动态库路径。因为开发板上所有的程序都是使用交叉编译器编译的,所以我们需要将交叉编译器的动态库文件拷贝到根文件系统树的lib路径下: 操作路径:/home/g...原创 2018-04-01 15:11:33 · 267 阅读 · 0 评论 -
GPRS模块--关于GPRS的AT测试命令
准备阶段:准备模块:GPRS(SIM900b);usb转串口(ch341);提前在Windows(PC)上安装SecureCRT; 一.使用须知: 1.1物理连接: (1)安装SIM卡(只支持移动,联通卡); 注:如果是新办的电话部分也不能用(之前新办的联通就不行) 原因为:(待补充) (2)GPR...原创 2018-04-14 18:07:03 · 2393 阅读 · 5 评论