页次: 1
这几个开源项目也非常有参考价值:
https://github.com/Saoskywalker/f1c100s_boot
https://github.com/minilogic/f1c_nonos
这个开源项目里面包含全志a20,a31的boot0,boo1的源码也非常有参考价值:
https://github.com/hno/allwinner-boot
此教程适用和我一样Linux新手,老鸟跳过。
不少新手可能和我一样,在烧写Uboot到TF卡的时候,没注意分区,不小心写到了电脑启动分区里了,造成电脑启动不了,难道只能重装系统?别慌,按照如下操作就可以完美修复Ubuntu启动
1.使用Ubuntu光盘或U盘启动
2.配置连接互联网
3.安装boot-repair
运行终端,输入如下命令:
sudo add-apt-repository ppa:yannubuntu/boot-repair -y
sudo apt-get update
sudo apt-get install boot-repair -y
boot-repair
安装完毕后会弹出boot-repair软件界面,直接点击recommeded repair(推荐修复)即可,修复之后重启就可以进入系统了。
最后,一定要记得烧写前要先 sudo fdisk -l,看清楚了再烧写,血的教训呀:(
一、编译及修改
1.首先要完成Linux和buildroot的编译工作,可以参考本坛的教学贴,我用的是主线Linux:linux-f1c100s-480272lcd-test 和 buildroot-2017.08.tar.gz。
2.解压InfoNES097JRC1_SDL.tar.gz
3.修改InfoNES097JRC1_SDL/sdl/Makefile文件
*注意:这里的:/home/linux/ALLWINNER_F1C100S/buildroot-2017.08/output/host/bin/arm-none-linux-gnueabi-gcc
/home/linux/ALLWINNER_F1C100S/buildroot-2017.08/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/bin/sdl-config
为我的buildroot编译输出的目录,需根据你的实际情况进行修改。
CC = /home/linux/ALLWINNER_F1C100S/buildroot-2017.08/output/host/bin/arm-none-linux-gnueabi-gcc
CCFLAGS = `/home/linux/ALLWINNER_F1C100S/buildroot-2017.08/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/bin/sdl-config --cflags` -O3 -pipe
LDFLAGS = `/home/linux/ALLWINNER_F1C100S/buildroot-2017.08/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/bin/sdl-config --libs`
4.修改InfoNES097JRC1_SDL/sdl/InfoNES_System_SDL.cpp文件
*注意:这里的480, 272为LCD分辨率,需根据你使用的LCD分辨率具体进行修改。
Line123: screen = SDL_SetVideoMode(480, 272, 16, SDL_HWSURFACE | SDL_DOUBLEBUF);
5.编译InfoNES
#cd InfoNES097JRC1_SDL/sdl
#make
然后将编译生成的InfoNES复制到/usr/games目录下(其他目录也可以)
二、运行
1.登陆Lichee Pi
Lichee login:root
Password:licheepi
2.运行InfoNES
*注意必须export SDL_NOMOUSE=1,否则会出现SDL_Init出错。
这里的Contra.nes为NES模拟器测试ROM文件名。
#export SDL_NOMOUSE=1
#cd /usr/games
#./InfoNES "Contra.nes"
三、目前存在的BUG
1.没有声音。
在初始化音频函数的时候报错:ALSA lib pcm_dmix.c:1063:(snd_pcm_dmix_open) unable to create IPC semaphore
2.画面显示不正常。
因为NES模拟器输出的是256*240的8位图像,所以需要对图像进行转换,才能正确显示,等下次有时间再弄吧:)
页次: 1