- 博客(36)
- 资源 (10)
- 收藏
- 关注
原创 linux下串口编程
1.在使用串口之前必须设置相关配置,包括波特率,数据位,校验位,停止位等。串口设置由下面结构体实现: 2.该结构体中c_cflag最为重要,可设置波特率,数据位,校验位,停止位。在设置波特率时需在数字前加上B,如 B9600,B119200.使用其需通过“与”“或”操作方式。具体使用如下:3.串口配置流程4.串口使用
2011-12-26 22:09:33 481
转载 常用UBoot命令[转]
转自:http://blog.csdn.net/zhandoushi1982/archive/2009/10/15/4677728.aspxdnw:在进入系统之前进入指令行,输入该指令可下载烧录文件。re:重新启动嵌入式系统。printenv:打印当前系统环境变量。setenv:设置环境变量,格式:setenv name value ...,表示将name 变量设置
2011-12-25 11:32:50 1270
转载 SDRAM内存驱动 的学习
论坛里这样说的:片内RAM不需要驱动,直接上电可以执行代码!当代码要拷贝到片外SDRAM的时候,就要先初始化CPU内部的SDRAM控制器(也就是RAM驱动),由于片外的SDRAM可以兼容普通的SDRAM和高速DDR内存,每种型号的RAM延时,等待等周期各不同,为了匹配外部RAM时序获得更高性能,当然要初始化RAM控制器,也就是RAM驱动!SDRAM(Synchronous Dyna
2011-12-23 13:41:06 4653
原创 让程序开机自动运行的方法
我们在做嵌入式开发时,也许有些程序想让它开机后就自动运行,这里介绍个简便方法(通过写shell脚本来实现):1. vi /etc/init.d/rcS (貌似开机后主程序找的便是这个文件的内容,故我们在这文件里加入我们写的SHELL脚本的地址即可,然后开机后它就自动找bin目录下的myshell.sh了) /bin/myshell.sh2.vi /b
2011-12-23 11:01:16 1390
原创 零零散散
1.在申请cdev,初始化cdev时,因为cdev_init这个初始化函数中已关联了cdev与hello_fops,故下边的那个注释部分可以不要。2.在写驱动时,往往会写个应用程序来测试它,这时别忘了运行应用程序时前面加sudo ,例 sudo ./test (不加的话它总显示你打开设备失败,这时你还会以为是自己写的程序有问题呢) 自:因为你在应用程序里打开的设备
2011-12-22 11:12:01 459
原创 内核相关
自:驱动中似乎不能用sleep函数来实现延时,但可以用usleep或用for(i = 0 ; i 或int n = 50000,while(i--);来实现(60000只不过是举个例子,可改成其它数字)
2011-12-22 09:10:34 408
原创 流水灯
1.技巧:在调试内核驱动时,会经常用 insmod 来加载模块,但加载成功后,会发现 rmmod 删除不了(此时我们往往想到的办法是重启板子,然后insmod),此时我们可在板子的系统里建一个目录 mkdir lib/modules/2.6.35 (在板子上运行此命令,2.6.35是你板子上的系统内核,根据需要修改) 即可.此时再试试,rmmod就可以成功了,就不再需要重启板子了。2.在
2011-12-21 18:52:26 497
原创 内核驱动程序中实现设备节点的自动创建
实现设备节点的创建共有两种方法,一种是驱动程序写完后在命令行下使用 mknod创建 例如 mknod /dev/led c 250 0 另一种比较简单的方法是可以在驱动程序里实现自动创建,只须调用两个函数 class_create和device_create 即可
2011-12-21 11:29:12 561
原创 输出格式
%d%f%c都是printf输出时。规定数据输出方式的,详细的输出方式列表如下: %d 有符号10进制整数 %i 有符号10进制整数 %o 有符号8进制整数 %u 无符号10进制整数 %x 无符号的16进制数字,并以小写abcdef表示 %X 无符号的16进制数字,并以大写ABCDEF表示 %F/%f 浮点数 %E/%e 用科学表示格式的
2011-12-20 19:04:30 450
原创 我的用S3C2410实现 NOR FLASH启动裸机程序 流水灯步骤
1.把板子上紧挨 CORE芯片的跳线帽拔掉,表示让他从NOR FLASH 启动(若插上表示从NAND FLASH 启动)2.用C写一个简单的控制流水灯程序3.配置H-JTAG(自注意:在配置时须把板子开开才能识别) A.我们的NOR FLASH是 SST39VF1601 故打开H-Flasher,选1 ---SST---SST39VF1601B.配置2如下图所示
2011-12-20 10:21:44 3095
转载 Boa服务器移植
作者:曹忠明,华清远见嵌入式学院讲师。Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右。作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行。Boa的设计目标是速度和安全。下面给大家介绍一下Boa服务器移植的具体操作步骤,希望能够有帮助。环境主机:ubuntu8.10交
2011-12-17 12:40:55 703
转载 boa服务器
boa服务器移植:一> 编译boa程序1. www.boa.org下载boa-0.94.13.tar.gz2. 解压3. ./configure 4. make编译时用2.95.3以上的版本会出错:util.c: 100: 1: pasting “t” and “->” does not give a valid preprocessing token make: [util.o] Error
2011-12-17 09:43:28 1181
原创 BOA 服务器
BOA 服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。http://www.cnblogs.com/hnrainll/archive/2011/05/31/2064907.html自: (不保证正确,但本人实验已成功)若想查看boa服务器是否开启,可用命令 ps -e 来查看,若有
2011-12-16 23:40:33 2799
原创 linux中实现文件路径的查找
find -name +文件名 例如: find -name zImage(注意:此命令好像表示的是查找当前目录下的文件)
2011-12-16 19:12:11 617
原创 我所知道的U-BOOT
(自)1.我们把uboot下载到flash的0地址后,系统上电运行uboot,让它实现自动下载内核还要依赖于bootcmd命令,例:2.关于U-BOOT启动的几个重要文件a. board/smdk2410/u-boot.lds (此链接文件中有一个cpu/arm920t/start.o 故我们猜想它应该对 应
2011-12-16 00:03:57 533
转载 TFTP服务器配置
TFTP服务器配置【实验内容】TFTP(TrivialFile TransferProtocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。TFTP承载在UDP上,提供不可靠的数据流传输服务,不提供存取授权与认证机制,使用超时重传方式来保证数据的到达。【实验目的】通过实验,学员掌握T
2011-12-15 21:21:34 984
转载 NFS服务器配置
【实验内容】NFS(NetworkFileSystem)主要实现了Linux系统之间的资源共享。它是将某台Linux主机的若干目录共享出来,交由其他Linux主机直接使用。本实验用于通过NFS服务实现Linux系统间的资源共享。【实验目的】通过实验,学员掌握NFS服务配置方法【实验平台】带有Linux操作系统的PC机,并在以太网中连接。【实验步骤】
2011-12-15 21:20:18 734
转载 Wiggler 与 SDT JTAG
调试ARM最便宜的方式是Wiggler Doggle,其实就是一种JTAG,使用244做电平转换(并口是5v逻辑,转换为3.3v),由PC上的软件控制时序,所以速度比较慢。要使用Wiggler,首先就是要能够驱动并口。这一步需要安装一个特殊的并口驱动程序叫GiveIO,就是可以使软件直接控制并口的某些管脚。然后所谓Wiggler,其实还分很多类的。一种叫做STD,还有的就称为Wig
2011-12-15 20:56:11 1225
原创 汉字转unicode码 简便方法
在用AT指令给手机发送中文时,会用到PDU,而PDU格式中需要把汉字转换成unicode编码,新发现一个超级简单的方法,共享:新建一个WORD文档,可以输入一个汉字然后按 ALT+X 即可实现汉字与unicode的相互转换
2011-12-14 19:57:37 1151 1
原创 AT中发送短信
(自)注意:在打开串口每次往串口里write时,记得后要跟sleep(n)让它延时一下,不然有可能会不成功!!!我的短消息的发送:1.设置短消息中心AT+CSCA="+8613800100500"\r2.设置短消息发送格式AT+CMGF=1\r3.设置接收短消息号码AT+CMGS=15911147250\r (注意,此处并没有百度上所说的双
2011-12-13 16:10:02 538
原创 关于用GSM MODEM模块实现打电话发短信注意事项
因为我是在虚拟机里做的实验,故上来第一步一定要记得在虚拟机里设置串口,步骤为:VM->Settings->点serial port -> 点Add->选择serial port->next (注意:设置时虚拟机必须处于关机状态,挂起也不行)设置好后的截图应为:写程序时,‘\r’表示回车,而不是‘\n’例如:char buf[N] = "AT\r";char buf
2011-12-13 14:33:05 2915
原创 交叉编译工具链
我所总结的是基于RedHat系统,并不是Ubuntu系统,故有些地方可能需要做少许修改安装:1.tar xvzf ...tar.gz (若你的压缩文件是bz2格式 则用命令 tar jxvf +压缩文件名才可通过,默认解压到当前目录,若想改变路径 可在命令行后加-C +路径名 )2.sudo vi /etc/profile依照文件中的加如下一句: pathmunge /us
2011-12-11 19:27:07 522
原创 我所知道的一点关于busybox配置选项注意
BusyBox 是一个集成了一百多个最常用linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、 cat 和 echo等等,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令。bu
2011-12-11 16:45:46 3028
转载 source insight 常用快捷键
原文地址:insight 常用快捷键">source insight 常用快捷键作者:狼骑source insight常用快捷键(右键里大多功能有快捷键提示) 退出程序 : Alt+F4重画屏幕 : Ctrl+Alt+Space完成语法
2011-12-10 16:16:45 785
转载 关于消息队列的一点说明
消息队列与管道以及有名管道相比,具有更大的灵活性,首先,它提供有格式字节流,有利于减少开发人员的工作量;其次,消息具有类型,在实际应用中,可作为优先级使用。这两点是管道以及有名管道所不能比的。同样,消息队列可以在几个进程间复用,而不管这几个进程是否具有亲缘关系,这一点与有名管道很相似;但消息队列是随内核持续的,与有名管道(随进程持续)相比,生命力更强,应用空间更大。附录 1:在参考文献[1]中
2011-12-08 22:55:26 505
原创 关于do...while()----- 细节
在写do{ } while() 语句时,要注意while()语句后面有个 分号 ‘;’ 例:do{printf("hello world!!!\n");}while(1);
2011-12-08 22:12:23 705
转载 linux中线程同步和互斥的区别
相交进程之间的关系主要有两种,同步与互斥。所谓互斥,是指散步在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它 们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。所谓同步,是指散步在不同进程之间的若干程序片断,它们的运行必须严格按照规定的某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。 显然,同步是一种更为复杂的互斥,而互
2011-12-08 21:42:29 902
原创 U-boot移植
前话:U-Boot移植,并不是说要我们从零开始写U-Boot,而是在原有的U-Boot中找与我们开发板最相近的,然后做修改即可。故开始移植之前,我们首先要分析U-Boot已经支持的开发板。选择的原则是,首先选择MCU相同的开发板,如果没有,则选择MPU相同的开发板。一:在顶层Makefile中为开发板添加新的配置选项,使用已有的配置项目为例 smdk2
2011-12-08 21:10:58 444
原创 自己写的简单冒泡排序法(不是很规范 日后有时间再改进)
#include #define N 5int main(){int buf[N] = {7,4,5,1,2};int i,j;int temp;for(j = 0; j for(i = 0; i {if(buf[i] > buf[i+1]){temp = buf[i];buf[i] = buf[i+1];buf[i+1] =
2011-12-08 18:45:26 472
巨量引擎iOS端如何集成
2024-07-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人