- 博客(17)
- 收藏
- 关注
原创 3.2Linux的模块驱动
Linux的模块驱动 接下来写个最简单的驱动程序,就像程序语言的hello world程序。首先是:hello.c的代码: 这是个最简单的驱动程序。就是打印hello的信息。驱动程序和我们的程序语言结果有点不大一样。驱动模块的入口是倒数第二行的module_init()的函数。驱动模块的出口是module_exit()的函数。3.接着是makfile文件:
2015-01-05 10:16:47
592
原创 3.1Linux内核的配置和编译
Linux内核的配置和编译之所以要对内核进行配置,这是很多都是硬件的需求,和软件的需求。就是选择自己需要的,去掉自己不要的。配置内核的方法:make config:基于文本模式的交互式配置。make menuconfig:基于文本模式的菜单型配置。 上面有两种配置方法,但是make config是几乎不用的。他是一问一答的配置方法。很费时间。所以,都是采用make menu
2015-01-05 10:16:45
490
原创 5.10TCP客户端服务器
实验4-4:TCP客户端服务器实验目的:熟悉TCP客户端服务器编程 实验要求: 1、实现TCP客户端服务器回显程序 2、传输信息要求如下 (1)尝试用C语言结构去发送或接收一个信息包 (2)将服务器运行于开发板,客服端运行于ubuntu 12.04,抓包分析TCP协议 实验步骤: 1、服务器端#include #include
2015-01-05 10:16:42
438
原创 5.9UDP客户端服务器-基于OK6410
实验4-3:UDP客户端服务器实验目的:熟悉UDP客户端服务器编程 实验要求: 1、实现UDP客户端服务器回显程序 2、传输信息要求如下 (1)尝试用C语言结构去发送或接收一个信息包 (2)将服务器运行于开发板,客服端运行于ubuntu 12.04,抓包分析UDP协议 实验步骤:服务端的程序:#include #includ
2015-01-05 10:16:40
516
原创 5.8fork父子进程
实验4-2:fork父子进程实验目的:理解fork创建子进程的本质 实验要求:1、按如下要求编写程序: (1)、打开一个有内容的文件; (2)、调用fork创建子进程; (3)、读文件的第一个字符输出打印出来; (4)、看看父进程和子进程分别读到的字符是什么 2、按如下要求编写程序: (1)、调用f
2015-01-05 10:16:38
569
原创 5.7文件拷贝
实验4-1:文件拷贝实验目的:熟悉Linux系统IO编程 实验要求: 1、按照io.h给出的接口实现通用io操作接口 2、利用io操作接口完成mycpy文件拷贝工具: 通过重定向完成文件拷贝功能: ./mycpy desfile 实验步骤: 1、实验代码:#include #include #include
2015-01-05 10:16:35
367
原创 5.6移植Madplay到开发板
实验3-3 移植Madplay到开发板实验目的:掌握嵌入式Linux开源项目的移植 实验要求:1、准备Madplay开源项目需要的源文件:(1)、madplay-0.15.2b.tar.gz(2)、libmad-0.15.1b.tar.gz(3)、libid3tag-0.15.1v.tar.gz(4)、zlib-1.1.4.tar.gz 实验步骤:1
2015-01-05 10:16:33
449
原创 5.4.Makefile
实验3-1 Makefile实验目的:学会Makefile编写方法。 实验要求:1、准备项目工程;2、为项目工程编写Makefile。 实验步骤:1、将实现代码中的"1_原始工程"目录通过SMB共享拷贝到Linux上 2、进入工程目录,编写Makefile文件 3、Makefile文件内容 4、执行编译
2015-01-05 10:16:30
375
原创 5.3交叉工具链使用
实验三 交叉工具链使用实验目的1、掌握交叉工具链的安装、配置方法2、掌握交叉编译、调试方法实验要求安装、配置arm-linux交叉工具链交叉编译"输入-回显"程序;将程序"嵌入"到开发板运行; 实验步骤一、安装、配置arm-linux交叉工具链1、将教学资源\toochain目录内的交叉工具链压缩包通过SMB共享拷贝到Linux宿主机
2015-01-05 10:16:28
586
原创 5.2嵌入式linux程序编译与调试
实验二 嵌入式linux程序编译与调试实验目的:学会使用及配置vim掌握gcc编译器使用掌握使用Gdb单步调试程序的方法实验要求:熟悉使用该节所介绍的vim创建、编辑、保存文件。分别用gcc实现预处理、编译、汇编、链接四个过程;使用gcc编译多文件工程,并制作编译脚本。利用Gdb单步调试修正结果错误的程序实验步骤:用gcc实现预处理、编译、汇编、链接四
2015-01-05 10:16:26
490
原创 5.1Minicom 通信配置-linux环境
Minicom 通信配置-linux环境用串口线,usb转串口。一端链接实验箱,一端链接pc机。查看端口号:Pc机:我的电脑----->右击----->选择管理---->选择设备管理器---->选择端口---->Prolific-USB-to-Serial Comm Port(COM1).这是我这台pc的端口号COM1。你们根据你们的pc选择端口号。3.端口的设置:操作如下:
2015-01-05 10:16:23
414
原创 7.点亮led的操作
7.点亮led的操作 Led可以作为我调试程序的工具。OK6410的核心板原理图:led的部分截图:我们从上面的原理图知道,led1-4对应的是GPM0-3. 2.GPIO GPIO是General-Purpose Input/Output Ports:通用输入/输出端口。在嵌入式系统中,CPU经常需要控制许多结构简单的外部设备或者电路,这些设备通常只要两种状态,
2015-01-05 10:16:21
492
原创 6、异常向量表的学习---设置SVC模式
6、异常向量表的学习---设置SVC模式 这是手册的资料,我们看到,要设置svc模式,就是要把我们的cpsr的后五位设置为0b10011即可。Cpsr的结构: 接下来,我们就来把cpsr的后五位设置为0b10011.设置的思路:首先把这五位清零(bic指令),使用orr往这五位写入0b10011.当然,这些操作的实现必须借助mrs和msr两个指令来完成(cpsr和spsr不
2015-01-05 10:16:18
566
原创 4.协处理器访问指令
4.协处理器访问指令协处理器用于执行特定的处理任务,例如:数学计算用的协处理器可以控制数字处理,以减轻处理器的负担。ARM可支持多达16个协处理器,其中CP15是最重要的一个。:格式: 现在我们使用mrc指令读出cp15协处理器里的main ID:根据上面的说明得: 运行结果: 读出来的值是0x410fb766,这跟我们的核手册的说明里的值是一致
2015-01-05 10:16:16
445
原创 3.Arm机器码
3.Arm机器码首先汇编程序转化为机器码,才能在机器内运行。首先我们对上面的裸机的代码中生的.elf文件进行反汇编:start.elf: file format elf32-littlearm Disassembly of section .text: 50008000 :.text.global _start_start: @ldr和st
2015-01-05 10:16:14
2091
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人