跆拳道女生高鞭腿踢脸:如何在Blackfin上已移植的uClinux系统中添加自己编写的程序
来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 09:22:07
被这个问题纠缠了很久,今天终于成功解决,撰文以记之。 在网上搜了很多文章,也没有解决自己的问题,但是在有一篇文章中找到了灵感。之所以网上搜到的文章对自己没有实质性的帮助,是因为软件平台与开发环境不一样导致的,所以余以为首先应该说一些自己的开发情况。言归正传。 操作系统:Win7 Ultimate 软件linux支持环境:coLinux v0.7.8 编译器:blackfin-toolchain-elf-gcc-4.3-2010R1-RC4 uClinux分发包:blackfin-toolchain-2010R1-RC4.i386 串口传输软件:超级终端 参考了很多文档没有得到答案,最后在uClinux 分发包的README 文档中得到提示,在其Documentation文件夹下有一个帮助文件:Adding-User-Apps-HOWTO 。参照这个帮助文档最后成功实现了自定义文件的添加。 由于使用了uImage 镜像,将其烧进板上的Flash 中。所以板子上运行的系统内核其实包含在这个镜像中。所以问题的关键在于怎样将自定义的文件添加进镜像中,也可以说,自定义的程序放到哪个文件夹下,以什么样的方式放进去,需要怎样的配置,可以将其打到uImage 中。下面就移植过程进行介绍,可以认为是Adding 文档的汉化版,具体细节请参阅该文档。这里以自己编写的hello 文件为例。原代码如下: view plaincopy to clipboardprint?
#include
int main()
{
int cnt = 0;
for(cnt = 0; cnt < 10; ++ cnt)
printf(“Hello uClinux! The %d times.\n”, cnt + 1);
return 0;
}
#include
int main()
{
int cnt = 0;
for(cnt = 0; cnt < 10; ++ cnt)
printf(“Hello uClinux! The %d times.\n”, cnt + 1);
return 0;
} 将这个文件保存为hello.c 。在uClinux 分发包目录下的user 文件夹新建一个hello 文件夹,将hello.c 放到hello 文件夹下。 特别注意,这些文件中,每一行的对齐一定要用Tab键,用空格键可能会编译不通过! 修改user/Makefile :dir_$(CONFIG_USER_HELLO_HELLO) += hello 修改user/Kconfig config USER_HELLO_HELLO bool "hello" help This program can display a hello uClinux message. 新建/user/hello/Makefile EXEC = hello OBJS = hello.o all: $(EXEC) $(EXEC): $(OBJS) $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS) romfs: $(ROMFSINST) /bin/$(EXEC) clean: -rm -f $(EXEC) *.elf *.gdb *.o 在uClinux 文件夹下,运行make menuconfig ,选择BF561 EZ-KIT Lite 。保存退出,提示新增加了hello ,输入y ,然后make 生成uImage 镜像。将镜像烧入Flash 中,重启开发板,可以在板上的bin 文件夹下看到有hello 文件,运行hello ,可以看到Hello uClinux 的信息。 另外之前遇到的一个问题得到解决。在colinux 中对hello.c 编译生成了hello 程序,但是这个程序传输到windows 能访问的目录下。运行超级终端,在板上的uClinux 系统下使用lrz 命令,希望将这个hello 文件传输到系统中运行,但是每次都提示“未找到匹配的文件”。一开始意识到可能的原因是权限问题或者linux 文件传输到windows 下有信息丢失。对于第一个问题,将超级终端以管理员权限运行,无果,错误依旧。对于第二个问题,希望能找到一个方法从PC 上的linux 下直接传输到板上系统。 但是后来在winhex 下查看这个hello 文件时,发现文件属性是SA ,怀疑是否是这个系统属性的关系。于是在CMD 下使用attrib –s 命令下去掉该文件的系统属性,结果传输成功。 于是成功将hello 文件传输到SDRAM 中。这时候直接运行该文件会提示没有权限访问,于是使用chmod 777 hello 更改权限。 关于chmod 命令的解释:读、写、运行三项权限用数字表示,r=4,w=2,x=1 。如果是rw 权限就是4+2=6 ,777 就意味着当前登录用户、当前登录用户所在组、其他人都有最高权限。 然后运行hello 程序,得到结果: 参考文献: 1. 帮助文档 /blackfin-linux-dist/Documentation/Adding-User-Apps-HOWTO2. chmod 777 修改权限 3. 向uClinux中添加应用程序及自动运行 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/seabeam/archive/2011/01/21/6157282.aspx
#include
int main()
{
int cnt = 0;
for(cnt = 0; cnt < 10; ++ cnt)
printf(“Hello uClinux! The %d times.\n”, cnt + 1);
return 0;
}
#include
int main()
{
int cnt = 0;
for(cnt = 0; cnt < 10; ++ cnt)
printf(“Hello uClinux! The %d times.\n”, cnt + 1);
return 0;
} 将这个文件保存为hello.c 。在uClinux 分发包目录下的user 文件夹新建一个hello 文件夹,将hello.c 放到hello 文件夹下。 特别注意,这些文件中,每一行的对齐一定要用Tab键,用空格键可能会编译不通过! 修改user/Makefile :dir_$(CONFIG_USER_HELLO_HELLO) += hello 修改user/Kconfig config USER_HELLO_HELLO bool "hello" help This program can display a hello uClinux message. 新建/user/hello/Makefile EXEC = hello OBJS = hello.o all: $(EXEC) $(EXEC): $(OBJS) $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS) romfs: $(ROMFSINST) /bin/$(EXEC) clean: -rm -f $(EXEC) *.elf *.gdb *.o 在uClinux 文件夹下,运行make menuconfig ,选择BF561 EZ-KIT Lite 。保存退出,提示新增加了hello ,输入y ,然后make 生成uImage 镜像。将镜像烧入Flash 中,重启开发板,可以在板上的bin 文件夹下看到有hello 文件,运行hello ,可以看到Hello uClinux 的信息。 另外之前遇到的一个问题得到解决。在colinux 中对hello.c 编译生成了hello 程序,但是这个程序传输到windows 能访问的目录下。运行超级终端,在板上的uClinux 系统下使用lrz 命令,希望将这个hello 文件传输到系统中运行,但是每次都提示“未找到匹配的文件”。一开始意识到可能的原因是权限问题或者linux 文件传输到windows 下有信息丢失。对于第一个问题,将超级终端以管理员权限运行,无果,错误依旧。对于第二个问题,希望能找到一个方法从PC 上的linux 下直接传输到板上系统。 但是后来在winhex 下查看这个hello 文件时,发现文件属性是SA ,怀疑是否是这个系统属性的关系。于是在CMD 下使用attrib –s 命令下去掉该文件的系统属性,结果传输成功。 于是成功将hello 文件传输到SDRAM 中。这时候直接运行该文件会提示没有权限访问,于是使用chmod 777 hello 更改权限。 关于chmod 命令的解释:读、写、运行三项权限用数字表示,r=4,w=2,x=1 。如果是rw 权限就是4+2=6 ,777 就意味着当前登录用户、当前登录用户所在组、其他人都有最高权限。 然后运行hello 程序,得到结果: 参考文献: 1. 帮助文档 /blackfin-linux-dist/Documentation/Adding-User-Apps-HOWTO2. chmod 777 修改权限 3. 向uClinux中添加应用程序及自动运行 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/seabeam/archive/2011/01/21/6157282.aspx
如何在Blackfin上已移植的uClinux系统中添加自己编写的程序
skyeye下执行为uClinux编写的程序
在ARMulator中移植uClinux(2)
在ARMulator中移植uClinux(1)
Linux系统中如何添加自己的库文件路径
cygwin移植linux程序到windows及在eclipse中使用cygwin的常见问...
如何在开始菜单中添加、显示程序的图标? 计算机基础知识 电脑常识 盲人网电脑常识 盲人之家...
在Visual Studio 2005中使用WinPcap编写程序的配置方法
嵌入开发网--下载中心-在ARMulator中移植uClinux(3)
让Python在Android系统上飞一会儿:第三节 在电脑上编写程序在手机上运行
uclinux添加字符设备驱动过程--shinep的笔记
在透明flash上添加自己的照片和文字
在透明flash上添加自己的照片和文字
在透明flash上添加自己的照片和文字
在透明flash上添加自己的照片和文字
如何把视频文件添加到自己的博客中
编写高效率的IDL程序
如何删除残留在添加或删除程序里的"联众世界"
如何在日志中添加漂亮的信纸1
如何在文章中添加MID 格式的背景音乐
如何在文章中添加MID格式的背景音乐 -
如何在日志中添加漂亮的信纸.
如何在wordpress中添加背景音乐?很好的! |
如何在文章中添加MP3格式的背景音乐