编写LINUX下C程序在线运行并最终固化到RAMDISK里
1,使用SDK生成hello文件,通过ftp传输到板子的ramdisc里面运行试验。
2,使用LINUX界面生成hello文件。
3,将hello文件固化到RAMDISK里面。固化和剪裁RAMDISK步骤:
3.1,首先ftp传到虚拟机,并解压缩。gzip -d
ramdisk8m.gz,之后解压出一个文件(而非文件夹)。
3.2,建立临时目录mkdir ram_disk 并将文件RAMDISK挂载到这个临时的目录上 mount -o
loop ramdisk8m ram_disk
3.3, 进入 ram_disk ,之后可以修改和添加了。(简单介绍一下各个目录)
3.4,可以将hello文件拷贝在适当位置。
3.5,之后卸载mount /ram_disk
3.6, gzip ramdisk8m_res
将文件系统文件解压缩之后映射到文件夹里,对其进行剪裁和添加的操作实际是对直接作用在这个文件上。之后再进行一下压缩。
4,之后将RAMDISK8M文件拷贝到SD卡,启动并找到文件和执行。
RAMDISK
1,利用RAM的剩余的空间模拟做一个DISC硬盘实现文件系统。
2,性价比比较高,可以用来快速读写文件。
3,不需要其他的可读写的存储介质,所有LINUX系统都由RAM,直接借用。
4,注意因为在RAM上实现读写,是挥发的(掉电丢失的),所以一些需要保存的文件需要另外做专门存储处理。
5,一般直接修改就可以,不需要自己从头开始做。
VMWARE虚拟机内核映像的下载地址:
链接:http://pan.baidu.com/s/1hrPG0gG 密码:ygkj
(跟之前的章节的虚拟机一样,已经就不必再下载)
把hello文件夹debug里的elf文件拷贝到板子的root 文件夹下面
在超级终端里面找到这个文件夹里面的elf文件;
把权限打开:输入chmod a+x hello.elf
在输入**./hello.elf**就可以显示sdk里面写的printf的内容;
在vmware里输入mkdir helloword(文件夹的文字)意思是建一个文件夹
再输入gedit hello.c 编辑一个新的c文件(自己写)
用gcc编译gcc ./hello.c -o pc_hello
也可以用这个编译(用在arm里面的) arm-xilinx-linux-gnueabi-gcc ./hello.c -o
z7_hello
放在板子里面的root文件夹里面:
备注:在镜像文件里面的etc/init.d/rcs文件,这个文件就是开机配置文件:可以修改里面的东西进行开机预设。
用ftp拷贝官方的randisk8m文件到vmware中
gzip -d ramdisk8M.image,gz(解压并删除)
mkdir ram_dk(新建一个目录)
sudo mount -o loop ramdisk8M.image ram_dk/(把文件应设到ram_dk里面)
之后把z7_hello文件拷贝到root里面
再umount ram_dk/
然后进行压缩 gzip ramdisk8M.image
生成之后拷贝到sd卡里面就行了,在超级终端里面就可以进行查看。