最新内核编译这个编译器不支持.incbin的缘故, 下载新的编译器现在注释掉gettimeoffset = s3c44b0x_gettimeoffset后,编译:注释掉MOD_DEC_USE_COUNT和MOD_INC_USE_COUNT.2.6.9 内核开始动手没有内核映象文件修改Makefile,增加bzImage还是没有希望的映象出现. 和2.4 内核编译的Makefile进行比较:修改Makefile,增加linux,images运行试试看修正RAM和FLASH地址问题增加romfs编译,运行检查romfs/bin, 缺省配置的命令太少了增加了命令配置,重新编译,但好像内核映象没有改变.但命令确实编译出来了增加串口驱动增加了串口驱动,错误依然.应该跟串口驱动没有关系了Panic错误原因串口驱动波特率问题去除简易串口驱动配置2 个sh串口正常后提示信息,第一阶段完成最后说明
本地下载
>> 阅读全文
|
苹果的iPod是一款时尚的MP3播放器,采用苹果公司的专用MP3播放软件,是市场上销量最好的MP3之一。最近狂热的Linux爱好者对其进行了改造,在不改动硬件的环境下移植了内核版本为2.4.24的uClinux(基于ARM 32位处理器内核ARM 7TDMI),并使其具备了FramBuffer、硬盘支持、远程控制等功能,使一台MP3变成了一台PDA。该项目一直处于活跃阶段,许多新的功能正在添加之中。 图2显示了在Cisco 3000上路由器运行uClinux的图片。事实上,在基于MIPS处理器的Cisco 2500/3000/4000系列路由器上,uClinux都得到了移植,并能够出色稳定地工作。 以上两个例子显示了作为一个开放源代码的操作系统,uClinux有着优良的可移植性和广泛的兼容性,其应用遍及DVD播放器、PDA、路由器、防火墙、机顶盒、工业控制设备、VOIP设备、数码摄像头、智能家具设备等。 图1 运行uClinux的苹果iPod-MP3播放器 图2 运行uClinux的Cisco 3000路由器...
>> 阅读全文
|
插曲:SDT下程序调试经验在SDT工程下面的.alf文件都是库文件,有了这些库文件后与之相对应的.c原文件就不需要加载进入工程,否则会导致工程调试时出现程序跑飞的情况。比方说如果已经加入了44blib.alf文件,则不需要再加入44blib.c文件,如果加入程序通过jtag调试必然跑飞,去掉则没有问题!当然在ADS中是没有.alf库文件的,那么就需要加入相应的.c文件!!内核的编译过程我想大家都知道了,就是make menuconfig进入内核配置菜单进行删改,结束保存后进行make depmake cleanmake lib_onlymake user_onlymake romfsmake imagemake基本上按照立宇泰给的uclinux内核文件和交叉编译器就能够完成整个编译内核的工作,只不过也许由于内核版本不同会产生一些不同的结果,主要还是功能方面的!此次编译内核需要完成的功能包括文件系统ext2的挂载,网络驱动,基本的cash命令,lcd frambuffer功能,串口功能。当然你也可以实现更多的文件系统的挂载识别和更多驱动功能,但是内核及文件系统必然增大,这里只是实现基本的一些驱动功能,希望借此给各位一些帮助!1. 编译armsys-c的uclinux内核及文件系统。原先armsys-c的uclinux内核文件说明如下:没有经过压缩的内核文件大小为1.8M;...
>> 阅读全文
|
四、修改sqlite/src/shell.c 1、struct previous_mode_data 结构定义项: 将 int colWidth[100]; 用 int colWidth[20]; 替换。 2、struct callback_data 结构定义项 将:int colWidth[100];int actualWidth[100];char outfile[FILENAME_MAX]; 用:int colWidth[20];int actualWidth[20];char *outfilep; 对应替换。 再在结构下面增加:#ifndef FILENAME_MAX#define FILENAME_MAX 4095#endifchar outfilename[FILENAME_MAX]; /* Filename for *out */ 即struct callback_data{...};#ifndef FILENAME_MAX#define FILENAME_MAX 4095#endif char outfilename[FILENAME_MAX]; /* Filename for *out */ 3、函数do_meta_command(...) 找到类似这样的一句:sqlite_exec(p->db, "PRAGMA database_list; ", callback, &data, &zErrMsg); 在它的前面有一句memcpy(&data, p, sizeof(data)); 现在在memcpy下面增加一行data.cnt = 0; 即将结构中cnt的值赋为0 ; 现在代码会被修改成类似:open_db(p);memcpy(&data, p, sizeof(data));data.cnt = 0; 再继续。 找到类似这样的一句:strcmp(azArg[1],&q...
>> 阅读全文
|
二、在sqlite下增加Makefile文件 在sqlite目录下应该没有Makefile文件,而只是有一个sqlite/Makefile.linux-gcc文件。我们要移植sqlite到uclinux,那么就要自己写一个合适的Makefile。 内容如下:===========Makefile内容开始===========#!/usr/make## Makefile for SQLITE## This is a template makefile for SQLite. Most people prefer to# use the autoconf generated "configure" script to generate the# makefile automatically. But that does not work for everybody# and in every situation. If you are having problems with the# "configure" script, you might want to try this makefile as an# alternative. Create a copy of this file, edit the parameters# below and type "make".##### The toplevel directory of the source tree. This is the directory# that contains this "Makefile.in" and the "configure.in" script.#TOP = .#### C Compiler and options for use in building executables that# will run on the platform that is doing the build.#BCC = gcc -g -O2#BCC = /opt/an...
>> 阅读全文
|
作者:
余涛:出处:
天极网 本文讨论的是比较流行的嵌入式开发组合ARM+uclinux,即目标开发板为三星S3C4510,完成sqlite在其uclinux上的移植。 本文假设你已经具备正确编译uclinux的kernel的能力,即有能力完成make menuconfig;make dep;make lib_only;make user_only;make romfs;make image;make。而且还能将自己写的类似helloworld程序加到“用户自定义应用程序”中,即你能完成“uClinux-dist/Documentation/Adding-User-Apps-HOWTO”中所描述的“用户程序的订制”。 大多数需要移植sqlite到uclinux的开发者,应该已经具备上面的能力,而只是不清楚如何修改sqlite来完成其在uclinux下的编译。如果你还不能完成上面的要求,那么请先做一定的准备工作,因为本范例所涉及到的内容主要是跟sqlite在uclinux下的移植有关,其他的在这个过程中出现的问题,开发者需要自行处理。 本范例使用的uclinux是uClinux-dist-20030522.tar.gz,你可以从http://www.uclinux.org得到适合你的软件包。 交叉编译工具是arm-elf-tools-20030314.sh,你也可以在http://www.uclinux.org找到它。 本范例使用的sqlite是sqlite-2.8.15.tar.gz,本文的方法也适合于2.8.x系列...
>> 阅读全文
|
还记得当年学数学、英语都有个窍门,那就是搞个错题集。经常复习一下这个错题集,就可以避免下次犯同样的错误。而几乎所有的程序员都是从犯错误开始的,我们也很有必要总结一下编程新手的常见错误,本文的目的在于此。1.引言 文中所列出的都是笔者在项目开发中接触到的新手真实的言谈,笔者学学文革腔调,姑且称之为“错误语录”。
&;nbsp;2.语录 (1)“我的程序都是对的,可结果不对” 想想你的周围,是不是也有人说这样的话?如果你也曾经说过,那就此打住,不要再说这句话,因为这句话只会显示说话者的无知。既然程序都是对的,那为什么结果不对?
&;nbsp;(2)“程序=算法+数据结构” 如果刚刚学完C语言,我们说这样的话,完全可以理解,而且可以说是正确的。但是如果你是一位即将从事C/C++编程的程序员,那么很遗憾,这个说法只能判错,殊不知,世界上还有另一种说法: 程序 = 对象 + 消息 “程序=算法+数据结构”只对面向过程的语言(C)成立,而对面向对象的语言(C++),则只能表述为“程序=对象+消息”。传统的过程式编程语言以过程为中心以算法为驱动,面向对象的编程语言则以对象为中心以消息为驱动。这里的消息是广义的,对象A...
>> 阅读全文
|
引言随着现代计算机技术的飞速发展和互联网技术的广泛应用,从pc时代过渡到了以个人数字助理、手持个人电脑和信息家电为代表的3c(计算机、通信、消费电子)一体的后pc时代。后pc时代里,嵌入式系统扮演了越来越重要的角色,被广泛应用于信息电器、移动计算机设备、网络设备和工控仿真等领域。嵌入式系统的开发也成为近年it行业的技术热点。完成简单功能的嵌入式系统一般不需要操作系统,如以前许多m cs51系列单片机组成的小系统就只是利用软件实现简单的控制环路。但是随着所谓后pc时代的来临,嵌入式系统设计日趋复杂,嵌入式操作系统就必不可少了。一般而言,嵌入式操作系统不同于一般意义的计算机操作系统,它有占用空间小、执行效率高、方便进行个性化定制和软件要求固化存储等特点。从八十年代起,国际上就有一些it组织、公司,开始进行商用嵌入式系统和专用操作系统的研发。这其中涌现了一些著名的嵌入式系统,如microsoft公司的 wince和windriversystem公司的vxworks就分别是非实时和实时嵌入式操作系统的代表。但是商用产品的造价都十分昂贵,用于一般用途会提高产品成本从而失去竞争力。uc/os和uclinux操作系统是两种性能优良源码公开且被广泛应用的的免费嵌入式操...
>> 阅读全文
|