嵌入式
chocolate001
这个作者很懒,什么都没留下…
展开
-
CCS无法打开项目的问题
打开CCS之后,想打开一个现有的砺项目,但是找到pjt文件之后,点打开,却提示“***”does not exist. Create one ? 为什么不存在,很奇怪? Google之后,发现原来是CCS项目路径中不能包含中文字符,把项目放在纯英文路径下,问题解决了原创 2011-08-15 21:56:08 · 12993 阅读 · 1 评论 -
dispc_reg_in ,dispc_reg_out , dispc_reg_merge函数功能的分析
u32 dispc_reg_in(u32 offset){ return (inl(offset)); //从端口读取4个连续的字节}该函数读取寄存器的值u32 dispc_reg_out(u32 offset, u32 val){ outl(val, offset); //向端口写入4个连续的字节 return (va原创 2012-08-27 17:06:30 · 1338 阅读 · 0 评论 -
BQ27501驱动和用户空间交互数据
内核中的数据与用户空间数据交互常用的函数有copy_to_user,copy_from_user,和宏定义put_user,get_user,__put_user,__get_user。copy_from_user和copy_to_user函数复制块数据,如数组,结构体;put_user,get_user,__put_user,__get_user复制的内存是简单类型,如char,int,long原创 2012-04-10 19:22:14 · 1546 阅读 · 0 评论 -
I2C 驱动开发 实例
I2C 驱动开发 文档一、 开发背景开发环境:DM355开发板内核版本:2.6.10二、 BQ27501驱动开发的需求BQ27501是一个锂电池管理的芯片,可以向外提供锂电池的有关的信息。在用户空间用户不能直接访问bq27501的寄存器,所以要为其编写驱动,该驱动能够根据用户空间的命令,返回对应的电池信息。三、 I2C 驱动原创 2012-04-19 20:35:28 · 10142 阅读 · 1 评论 -
Linux驱动模块编译进内核中
BQ27501驱动编译进内核一、 驱动程序编译进内核的步骤在 linux 内核中增加程序需要完成以下三项工作: 1. 将编写的源代码复制到 Linux 内核源代码的相应目录;2. 在目录的 Kconfig 文件中增加新源代码对应项目的编译配置选项; 3. 在目录的 Makefile 文件中增加对新源代码的编译条目。 bq27501驱动编译到内核中原创 2012-05-16 13:28:35 · 22744 阅读 · 3 评论 -
Linux内核空间和用户空间传递数据
通常情况下,应用程序通过内核接口访问驱动程序,因此,驱动程序需要和应用程序交换数据。Linux将存储器分为“内核空间”和“用户空间”。操作系统和驱动程序在内核空间运行,应用程序在用户空间运行,两者不能简单地使用指针传递数据。因为Linux系统使用了虚拟内存机制,用户空间的内存可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。Linux内核提供了多个函数和宏用于内核空间和用户空间传转载 2012-04-09 10:26:50 · 7114 阅读 · 0 评论 -
linux 模块编程的简单示例 helloworld
以Helloworld这个简单的程序的演示,达到对linux内核模块编程的编译,加载和卸载这个过程有初步认识目的。hellomod.c源文件--------------------------------------------------------#include #include MODULE_LICENSE("Dual BSD/GPL");static int原创 2012-03-03 11:48:51 · 1584 阅读 · 0 评论 -
linux环境下 hello 模块的交叉编译
为嵌入式系统写驱动时,不可能在嵌入式设备上对驱动模块进行编译,通常是在交叉编译环境下编译好,然后再下载到嵌入式系统中。这里以最简单的hello模块为例,介绍交叉编译的过程。hellomod.c的内容与之前一偏文章《linux 模块编程的简单示例 helloworld》相同。不同是Makefile文件。Makefile文件如下:--------------------------------原创 2012-03-03 11:55:11 · 5575 阅读 · 0 评论 -
dos命令窗口打开时命令提路径怎么样定位到指定文件夹
最近在捣鼓NASM,要使用NASM来编译汇编代码,下载的NASM的编译器没有界面,所以只能通过DOS命令编译。而每次通过CMD命令打开DOS窗口都要重新设置工作目录,设置为NASM所在的文件夹。修改文件夹的右击菜单选项,增加一个“在此处打开命令提示符”,这样每次在此文件夹右击打开DOS窗口,工作目录自动定位在当前目录。修改文件夹的右击菜单选项的方法有很多。这里根据我自己的使用提供一种较为简单的方法原创 2012-01-17 23:04:42 · 11132 阅读 · 0 评论 -
uboot 下脚本的开发
在Uboot下能否将很多命令放在一个脚本文件中,然后一起执行,类似于批处理文件。答案是可以的。首先在Linux环境创建一个文本文件,在该文件中写好要一起执行的命令,编写的格式和uboot命令行模式下的输入的命令一样。编写完成之后命名成.script文件,例如example.script。然后将脚本制作成映像文件。使用uboot/tools/下的mkimage命令制作映像。例如mkimage原创 2012-01-15 19:04:21 · 5070 阅读 · 0 评论 -
function declaration isn't a prototype 是什么原因
今天编译修改后的uboot,发现自己添加的函数int loadSystem();在编译发现出现function declaration isn't a prototype 的警告。网上查到,少了void,即应该这样声明和引用:int loadSystem(void)。至于什么原因原创 2011-10-17 17:05:58 · 17942 阅读 · 2 评论 -
CCS中如何生成LIB文件,并在另外CCS项目中引用LIB文件
CCS项目建立时,默认是生成.OUT可执行文件。当想把一个实现的代码较多的功能加入到一个项目中,把这个功能做成一个LIB文件,然后引入到项目中直接调用,是最方便和简洁的。图1 编译之前要设置编译选项,设置的依据是要引入的项目编译选项。下图原创 2011-08-23 20:38:37 · 19796 阅读 · 2 评论 -
DSP DM355 如何加载运行bin文件
背景及问题: 在DM355板子上通过UBL启动测试模式,因为没有操作系统在裸板上运行测试程序,所以不能使用CCS直接生成的.OUT可执行文件,要将.OUT文件格式转成没有操作系统能直接运行的.BIN文件。要能运行.BIN文件必须将其加载到正确的内存位置,并找到原创 2011-08-22 14:56:21 · 5575 阅读 · 2 评论 -
CCS 项目编译 出现 expected an identifier 错误
CCS 项目编译 出现 expected an identifier 错误"../include/dm355_evm.h", line 67: error: expected an identifier"../include/dm355_evm.h", line 67原创 2011-08-18 15:00:16 · 27717 阅读 · 1 评论 -
CCS头文件路径的添加
在工程中加入头文件时,有时运行CCS时却无法找到头文件,其中是因为加入的头文件路径与CCS默认路径不一致,导致工程无法找到所需的头文件。 解决方法是添加头文件路径到工程中去:菜单选择“project”->“build options”,弹出“build opt转载 2011-08-16 15:57:27 · 36275 阅读 · 3 评论 -
Linux 下将sd格式化成ext2格式并挂载
sd卡在windows下格式化,只能格式化为FAT文件系统格式的,但是FAT文件系统在linux下不支持软链接。所以又必要将其格式化成linux下的文件系统格式,例如EXT2。使用嵌入式linux中自带的工具命令mkfs.ext2。root@target:~# mkfs.ext2 /dev/mmcblk0 mke2fs 1.41.5 (23-Apr-2009)Filesystem原创 2012-12-01 17:23:47 · 9050 阅读 · 1 评论