全志F1C100s主线linux入坑记录 (7)GBA模拟器移植

这篇具有很好参考价值的文章主要介绍了全志F1C100s主线linux入坑记录 (7)GBA模拟器移植。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

GBA模拟器移植

百度网站



一、下载gpsp 源代碼

gpsp源码
linux gba模拟器,F1C100s,linux,嵌入式硬件,单片机,arm开发
解压文件

7z x gpsp.7z 

二、gpsp环境配置

gpsp需要SDL环境我们先在bulidroot中添加SDL包

make menuconfig
Target packages  ---> 
	Graphic libraries and applications (graphic/text)  --->
		[*] SDL 

我们全选SDL路径下的所有选项
linux gba模拟器,F1C100s,linux,嵌入式硬件,单片机,arm开发

linux gba模拟器,F1C100s,linux,嵌入式硬件,单片机,arm开发

打开之前解压的 gpsp 文件夹配置Makefile

cd gpsp/bittboy
vi Makefile

添加 buildroot 的 gcc 编译器
linux gba模拟器,F1C100s,linux,嵌入式硬件,单片机,arm开发
告知 SDL.h 位置以及 SDL 元件库位置
linux gba模拟器,F1C100s,linux,嵌入式硬件,单片机,arm开发

其实很简单在buildroot文件夹搜索 sdl-config 位置在哪里,然后在Makfike里替换自己的路径就可以了

尝试编译看到编译成功
linux gba模拟器,F1C100s,linux,嵌入式硬件,单片机,arm开发
我们把文件传入板子里运行看看什么情况
linux gba模拟器,F1C100s,linux,嵌入式硬件,单片机,arm开发
提示需要一个 Gameboy Advance BIOS 文件我们网上搜索之后放入文件在运行试试看
Gameboy Advance BIOS
linux gba模拟器,F1C100s,linux,嵌入式硬件,单片机,arm开发
**非常好,运行后发现直接段错误,经过一顿找问题调试下,在晕哥的指导下终于找到问题所在 SDL_Init出错 **

export SDL_NOMOUSE=1

再次运行我们发现已经不再报错了
linux gba模拟器,F1C100s,linux,嵌入式硬件,单片机,arm开发

我们下载一个 gba rom 文件运行试试看效果
gba rom下载地址

alsactl restore -f /var/lib/alsa/asound.state  声卡配置
export SDL_NOMOUSE=1
./gpsp kdyg.gba

可以看到运行起来了,画面已经跑起来了
linux gba模拟器,F1C100s,linux,嵌入式硬件,单片机,arm开发
linux gba模拟器,F1C100s,linux,嵌入式硬件,单片机,arm开发

没声音的话别忘了打开声卡,设置声卡配置

alsactl restore -f /var/lib/alsa/asound.state

在此处修改按键定义

#if defined(PC_BUILD)

u32 key_map(SDLKey key_sym)
{
  switch(key_sym)
  {
    case SDLK_LSHIFT:
    case SDLK_BACKSPACE:
      return BUTTON_R;

    case SDLK_SPACE:
    case SDLK_TAB:
      return BUTTON_L;

    case SDLK_DOWN:
      return BUTTON_DOWN;

    case SDLK_UP:
      return BUTTON_UP;

    case SDLK_LEFT:
      return BUTTON_LEFT;

    case SDLK_RIGHT:
      return BUTTON_RIGHT;

    case SDLK_RETURN:
      return BUTTON_START;

    case SDLK_ESCAPE:
      return BUTTON_SELECT;

    case SDLK_LCTRL:
      return BUTTON_B;

    case SDLK_LALT:
      return BUTTON_A;

    default:
      return BUTTON_NONE;
  }
}
#endif

参考

感谢司徒大神的无私开源,感谢晕哥的大力帮助
https://whycan.com/t_7909.html#p80061
https://debugdump.com/topic/1679/%E5%8F%B8%E5%BE%92gpsp%E6%B8%B8%E6%88%8F%E6%9C%BA%E6%A8%A1%E6%8B%9F%E5%99%A8%E6%BA%90%E7%A0%81%E7%A7%BB%E6%A4%8D%E5%88%B0%E5%85%A8%E5%BF%97v3s-r11%E7%AD%89soc-%E8%BD%AC?_=1670746814627文章来源地址https://www.toymoban.com/news/detail-567757.html

到了这里,关于全志F1C100s主线linux入坑记录 (7)GBA模拟器移植的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在f1c100s上移植fbtft驱动st7735s小屏幕

    内核版本5.4 在使用spi总线接上了一个小网卡,实现了我们开发板对网络的访问之后,我还想接一个小的spi屏幕 1.44寸款,来画一只小企鹅,顺便显示一些系统的调试信息。但是由于我这个开发板向外暴露出来的spi接口就两个,而且有一个已经因为串口的设置而不能使用。所以

    2024年02月10日
    浏览(34)
  • 7、Lctech Pi(F1C200S)开启RNDIS,通过USB与电脑联网(CherryPi,Mangopi,F1C100S)

    本次主要参考: 荔枝nano开启RNDIS驱动,无需补丁。 https://github.com/peng-zhihui/Planck-Pi#head23 https://github.com/mangopi-sbc/buildroot-mangopi-r https://www.cnblogs.com/listenscience/p/13758272.html (如果方便请给这几位大佬一个关注) 注意代码块之间的空行 本次是摸索出来的,如果用到项目需慎重,有

    2024年02月12日
    浏览(30)
  • modbus采集和 mqtt上报相结合,通过荔枝派(F1c100s芯片模块)实现数据采集连接阿里云物联网平台进行数据上报和下发功能。

    通过荔枝派(F1c100s芯片模块)搭载SDIO-wifi模块,写入了主函数程序。根据读取modbus模拟器的数据,反馈到阿里云物联网平台当中。图中左侧的阿里云物联网平台所显示的温度为66摄氏度,与modbus模拟器的数据是一样的,图片右侧是荔枝派(F1c100s芯片模块)的编程软件X-shell的

    2024年02月15日
    浏览(44)
  • linux(全志F1C100S/F1C200S)系列02:移植LCD st7789驱动,LVGL8.3移植

    st7789V中指定了rst与dc引脚,pio 4 3 对应PE3,pio 4 5对应PE5; 详细配置方式见链接:全志 :gpio使用 需要根据自身硬件配置。 Tips:更改 spi-max-frequency = 32000000 - spi-max-frequency = 100000000; 和 fps = 30; 改为 fps = 60; 感谢楼下老哥提示。 rotate = 90;根据屏幕方向更改。 只需要更改下面的三个地

    2024年01月18日
    浏览(53)
  • 【f1c200s/f1c100s】mangopi自制linux开发板驱动适配进度(PCB、代码开源)

    目前自制的mangopi设备驱动适配已完成部分包含: 基于扫描的gpio-keys子系统适配 LED子系统适配 RGB接口LCD显示屏适配 ft5406触摸屏适配 博通RTL8188EUS无线网卡适配 PWM驱动适配 显示屏背光适配 以下这几项在下载到荔枝派源码时已经适配好了: SPI FLASH驱动 USB驱动 串口驱动 mangopi内

    2024年02月03日
    浏览(79)
  • 全志F1C200S嵌入式驱动开发(串口驱动)

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         对于uboot、kernel和rootfs来说,他们的串口输出一般都是uart0。一般这么做,是没有问题的。只不过我们自己买的这块f1c200s电路板,设计者把uart转ttl的接口,改接到了uart1上面。不过这样

    2024年02月16日
    浏览(72)
  • 全志F1C200S嵌入式驱动开发(GPIO输出)

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         和v3s一样,f1c200s本身的外部引脚比较少。所以这个时候,不可避免地,很多引脚的功能就会重叠在一起。这种情况下,我们就要学会取舍了。比如说,如果是学习sd卡的时候,那么s

    2024年02月16日
    浏览(37)
  • 全志F1C200S嵌入式驱动开发(lcd屏幕驱动)

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         lcd RGB屏幕作为比较经济、实用的显示工具,在实际场景中使用较多。它的信号来说,一般也比较简单,除了常规的数据信号,剩下来就是行同步、场同步、数据使能和时钟信号了。数

    2024年02月14日
    浏览(36)
  • 全志F1C200S嵌入式驱动开发(soc系统集成)

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         任何一个嵌入式设备都是由很多的子系统组成的。这里面有硬件、有软件,还可能有机械,并不一定就是大家看到的消费电子那样,即一个soc构成了所有的系统。现实情况是,要构建

    2024年02月12日
    浏览(31)
  • 全志F1C200S嵌入式驱动开发(从DDR中截取内存)

    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】         linux内核起来的时候,不一定所有的内存都是分配给linux使用的。有的时候,我们是希望能够截留一部分内存的。为什么保留这部分内存呢?这里面可以有很多的用途。 比如说,第一,

    2024年02月14日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包