LINUX结合用户程序的编写。这就需要学习了:

参考光盘

1. ARCOBAT READER 5.0 韩语插件:ar5kitkor.exe

2. JUPITER芯片的手册: E:\Jupiter\HardWare\Chip DataBook\eng\jupiter_databook_china.pdf

3. 汇编语言:E:\Jupiter\HardWare\Core Manual\English\SE3208 manual v2_eng.pdf

4. JUPITER韩国原始电路图:E:\Jupiter\Schematic\Jupiter_Full.pdf

5. 开发软件WIN2000平台 E:\Jupiter\software\所有,安装方法:读readme.txt

6. uclinux操作系统的说明 E:\Jupiter\uclinux\所有

       uclinux的更新下载地址:ftp.adc.co.kr/pub/uxlinux/

5.       开发板说明书 E:\Jupiter\开发板\uclinux开发板的说明和编程方法.doc

 

准备工作

 

PC机2台,1台跑WIN2000,另一台跑LINUX版本不要求。

JUPITER开发板一块,HUB一个(可以不要)

网线,普通网线或对联线。

连接方法见开发板的使用。

 

 

 

我来举例说明:

一.   PING程序的编译流程说明:

需要WIN2000   LINUX 两个操作系统。

 

把光盘中的uclinux压缩文件(约110兆)拷贝到\cygwin\home\目录中,解压。形成下面的目录结构:

 

    1Copy app/ping目录下的ping.c, Makefile,se3208-elf2flt.ld 到一个新的目录,如/app/ping1

  2〉对Makefile中的路径进行相应的修改,以适应新的路径和文件名。(Don’t touch the CFLAGS, LDFLAGS)

其中关键是makefile的修改,例如PINGMAKEFILE就改成

 

其中一行很长,全行如下

INCDIR         = -I/usr/local/lib/gcc-lib/se3208-elf/egcs-2.91.66/include -I$(shell pwd)/../../uClibc/include -I$(shell pwd)/../../uClinux-2.4.20/include

主要是设置路径,因为目录和从uclinux.org当下来的应用程序捎有不同。

 

    3〉在cygwin环境下,进入app/ping1目录,执行make,生成ping.dis ,ping.o ,ping.elf三个文件

    4〉移动rd.gz(就是rdgz.bin改个名字)ping.elf一台linux  PC机 的的自己的工作目录下,移动se3208-elf2flt/usr/bin目录下, se3208-elf2fl2003-2-12的。

这时使用LINUX PC机(不是JUPITER板,也不是WIN2000)

    5〉在工作目录下执行 "se3208-elf2flt ping.elf" 生成ping.elf.bflt文件,这就是uclinux中的可执行文件。

这里要说明一下:se3208-elf2flt 在光盘中有\Jupiter\uclinux\补丁prog\se3208-elf2flt\,

在网站的服务程序栏目中也可以下载。

他的作用只是把elf格式转换为linux的binflat格式。文件会缩小很多。

 

    6〉依次执行如下三条指令(可以做一个脚本文件)

   mkdir ramdisk_root

   cp rdgz.bin rd.gz

       gunzip rd.gz

       losetup /dev/loop1 rd

       mount /dev/loop1 ./ramdisk_root

    7>进入ramdisk_root目录,便可看见虚拟盘的内容,将生成的ping.elf.bflt(可以改名ping1)复制到bin目录下

    8〉执行如下命令(也可以做一个脚本文件)

       umount ./ramdisk_root

       losetup -d /dev/loop1

       gzip rd

       cp rd.gz rdgz.bin

    9〉将rdgz.bin移到cygwin下,分别将linux.bin rdgz.bin下在到开发板的RAM

这时又回到win2000的PC机环境下。不同PC机器之间的文件拷贝可以使用很多方法,如网络或软盘....。

 

       10〉运行后可以启动uclinux系统,并可以在其bin目录下看到ping1文件,可以直接运行。

 

如果不想重写rdgz文件,也可以用tftp下载的方式把用户程序下载到jupiter的/bin目录中,

请参考“仿真方法”一栏。

 

应用程序的移植,就是抄袭

uclinux.org下载uClinux-dist-20020701.tar,当然你可以使用最新的,解开。在user/目录中有数十个应用。想用哪个就把他拷贝到\uclinux-eisc\app\目录中,然后按6. LINUX结合用户程序的编写步骤

UCLINUX-EISC采用单独编译内核、应用程序、UCLIB 的方式,互不影响。推荐顺序:先编译库( 只一次),再应用程序,最后再内核,(在编译内核的最后由debugimage-jupitermkimage-jupiter两个脚本把seloader.bin, rdgz.bin, linux.bin 接在一起。)

 

armuclinux目录

uclinux-eisc目录

 

在CYGWIN环境中常见错误

 

经常出现换行 "\ "字符出错,会引出一堆错误,这是因为LINUX中的"\"字符和WINDOWS中的"\"字符编码不一样。

解决方法:把"\"去掉,特别是在 #define 中,把他变成同一行,就可以了。