单片机手搓掌上游戏机(二十一)—pico运行doom之修改编译

这个pico-doom的作品本来是输出到vga显示器上的,但是作者是在linux下弄出来的,我把它下载到windows下有些奇奇怪怪的错误,始终无法纠正。

把lcd版本覆盖过来后,对编译include和link的文件进行了简化,才能用,只能用pico-sdk-1.5.1,不能用最新版的,这种开源的软件就这个样了。esp32的也好不到哪里去,5.0以后的编译早期的文件大概率出错。

首先是修改各个Cmakelists.txt文件,这是生成makefile文件的流程,虽然cmake号称linux和windows通吃,还是有千奇百怪的问题。

首先是根目录下Cmakelists.txt,添加以下三行

路径改成上一节记下的pico-sdk和pico-extras的路径,记住把\都改成/。

酱紫:

set(PICO_SDK_PATH "D:/Program Files/Raspberry Pi/Pico SDK v1.5.1/pico-sdk")

set(PICO_EXTRAS_PATH "D:/Program Files/Raspberry Pi/Pico SDK v1.5.1/pico-examples/pico-extras")

set(CMAKE_BUILD_TYPE MinSizeRel)

修改src文件夹下的Cmakelists.txt

红框内的全删除,只留下doom_tiny这一个目标。

修改src下pico文件夹下的 Cmakelists.txt

这里lcd,把st7789注释,换成ili9341 ,没错,用st7789就要改成ili9341。

这里加一句,链接到pico_audio_i2s,作者不知道怎么回事,用了i2s却没有include进来,导致无法编译,我找了好久原因,就没想到高手留下这么一个简单的错误。

然后就是ctrl+shift+p cmake configure

ctrl+shift+p cmake build

修改到位的话就是

可以编译出doom_tiny.uf2文件了

但是颜色仍然不正常,纠正需要找到src/pico/magc.h文件

注释45行把上图50行复制到46行

全部保存,艰难的修改就搞成了。

再build一下,作品就好了。

相关推荐
阿猿收手吧!3 小时前
【C++】实现自旋锁:三种高效实现与实战指南
服务器·网络·c++
代码游侠3 小时前
C语言核心概念复习(三)
开发语言·数据结构·c++·笔记·学习·算法
明洞日记3 小时前
【软考每日一练030】软件维护:逆向工程与再工程的区别与联系
c++·软件工程·软考·逆向工程
哎呦 你干嘛~4 小时前
plc仿真来控制单片机
单片机·嵌入式硬件
郝学胜-神的一滴4 小时前
深入Linux网络编程:accept函数——连接请求的“摆渡人”
linux·服务器·开发语言·网络·c++·程序人生
茉莉玫瑰花茶4 小时前
C++ 17 详细特性解析(3)
开发语言·c++
czwxkn4 小时前
10单片机PWM
单片机
ℳ๓. Sweet4 小时前
【STM32】关于DMA发送后立刻复位单片机导致无法正确发送的问题
stm32·单片机·嵌入式硬件
Herbert_hwt4 小时前
数据结构与算法绪论:为何学、学什么、如何避坑
c语言·数据结构·算法
三佛科技-134163842124 小时前
多功能奶泡机MCU方案开发设计分析
单片机·嵌入式硬件·物联网·智能家居·pcb工艺