F1C200S
文章平均质量分 75
weixin_36117563
希望掌握更多的技术,记录自己学习的点点滴滴
展开
-
使用F1C200S从零制作掌机之USB从机
OTG做从机,实现使用RNIDS功能访问网络,实现模拟成U盘PC可访问。最后实现OTG的软件主从切换。原创 2024-07-13 21:22:31 · 749 阅读 · 0 评论 -
使用F1C200S从零制作掌机之debian文件系统完善NES
源码:https://files.cnblogs.com/files/twzy/arm-NES-linux-master.zip。使用builtroot2018构建的文件系统,使用InfoNES模拟器存在bug,搞不定,所以放弃,改用debian。在NES中是通过一些PCM的API操作音频的,具体的看代码吧。修改NES模拟器源码linux目录下的joypad_input.cpp,使其适配自己的无线手柄。在命令行执行:evtest,操作无线手柄可发现有按键事件上报。是遥控器,通过配置去掉。原创 2024-07-09 20:24:09 · 924 阅读 · 0 评论 -
使用F1C200S从零制作掌机之构建debian文件系统
前情:使用buildrootfs构建的文件系统调试了很久NES模拟器,执行InfoNES模拟器的时候一直黑屏,无内容显示,调不通了,所以改用debian系统试试。原创 2024-07-08 15:01:49 · 994 阅读 · 0 评论 -
使用F1C200S从零制作掌机之USB游戏手柄
按键键值定义和对应关系,使用以下程序测试。插入USB即可自动识别。原创 2024-07-08 14:59:59 · 570 阅读 · 0 评论 -
使用F1C200S从零制作掌机之移植USB无线网卡rtl8188eu
usb无线网卡型号:COMFAST CF-WU810N下载驱动:https://download.csdn.net/download/weixin_36117563/89504648。原创 2024-07-02 20:53:59 · 305 阅读 · 0 评论 -
使用F1C200S从零制作掌机之屏幕驱动_linux5.4.99
重新调试的原因:之前使用的内核和设备树没有办法同时使用音频和屏幕。使用资源下载地址:https://download.csdn.net/download/weixin_36117563/89494090。原创 2024-06-28 21:35:52 · 649 阅读 · 0 评论 -
使用F1C200S从零制作掌机之音频驱动
目前 linux 中主流的音频体系结构是ALSA(Advanced Linux Sound Architecture),ALSA在内核驱动层提供了alsa-driver,在应用层提供了alsa-lib,应用程序只需要调用alsa-lib提供的API就可以完成对底层硬件的操作。但是 ALSA 较为庞大,对于资源有限,可以满足需求的前提下,ALSA 的 简化版 tinyalsa 是个不错的选择。系统启动后,声卡默认是关闭的,需要配置一下通道开关、音量等。替换zImage,设备树和文件系统。从board下移植。原创 2024-06-26 21:31:05 · 774 阅读 · 0 评论 -
使用F1C200S从零制作掌机之LCD背光
可以将PE6的有效电平GPIO_ACTIVE_HIGH改为GPIO_ACTIVE_LOW,会发现屏幕背光不亮。焊接R44的0R电阻,此种情况通过PE6拉低关闭背光,拉高开启背光。linux内核中make menuconfig。LC-PI-200S板卡背光电路。默认背光使能引脚硬件上拉直接使能。此种方式可以配置背光亮度等级。直接配置设别树即可实现。重新编译设备树后替换。原创 2024-06-13 23:31:43 · 207 阅读 · 0 评论 -
使用F1C200S从零制作掌机之触摸ns2009驱动
LC-PI-200S板载的NS2009的中断引脚有接到F1C200S的PE12。lichee nano板载的NS2009的中断引脚未接,驱动需要轮询处理,太麻烦了。重新上电后未达到预期,屏幕无内容显示了。最后在设备树文件中发现,引脚冲突。需要将LCD驱动改为RGB565格式,省出触摸使用的引脚。在内核目录/drivers/gpu/drm/panel/panel-simple.c中,填写屏幕时序信息如下。重新启动设备,修改配置文件。所以这里使用LC-PI-200S测试。重新编译设备树后替换。原创 2024-06-13 22:40:52 · 318 阅读 · 0 评论 -
使用F1C200S从零制作掌机之移植LCD驱动
主要修改文件为内核目录/drivers/gpu/drm/sun4i/文件夹下的三个文件,分别为sun4i_tcon.c、sun4i_drv.c、sun4i_backend.c。使用make menuconfig打开图形化配置界面,打开Bootup logo,其中的三个选项全部选中。拷贝zImage和suniv-f1c100s-licheepi-nano.dtb之后,重启设备。使用自己下载的5.2版本Linux源码,参照官方设备树修改。LCD显示实验使用LC-PI-200S开发板。原创 2024-06-12 21:51:37 · 356 阅读 · 0 评论 -
使用F1C200S从零制作掌机之官方LCD驱动测试
正点原子4.3寸:https://blog.csdn.net/qq_41709234/article/details/128586204。正点原子7寸:https://blog.csdn.net/qq_27350133/article/details/124602894。在应用层中,用户可以将fb设备看成是显存的一个映像,将其映射到进程空间后,就可以直接进行读写操作,写操作会直接反映在屏幕上。源码下载:https://github.com/Lichee-Pi/linux/tree/nano-5.2-tf。原创 2024-06-12 13:32:00 · 582 阅读 · 0 评论 -
使用F1C200S从零制作掌机之修改调试串口为UART1
LC-PI-200S的调试串口使用的是UART1。在使用OV5640的时候会与UART0冲突。原创 2024-06-08 13:49:14 · 170 阅读 · 0 评论 -
使用F1C200S从零制作掌机之按键input驱动
如果连续输出数据,修改GPIO_ACTIVE_LOW。触发电平的问题,导致重复触发。原创 2024-05-07 23:27:22 · 145 阅读 · 0 评论 -
使用F1C200S从零制作掌机之按键中断(定时器防抖)
举一个实际的例子,比如当你在电脑上运行程序时,CPU在执行程序的指令,但是你突然按下了一个键盘上的按键,这时就会触发键盘对的中断信号,使得CPU暂停执行程序,切换上下文,去处理按键的输入信号,并通知对应的程序按键的具体信息,然后CPU会重新回到原来的上下文,结合应用程序运行状态继续执行指令。例如,当按键被按下时,GPIO引脚的电平会发生变化,从而触发中断,系统就可以在中断处理函数中执行相应的操作,如启动计时器、记录事件等等。根据实际情况和外部信号变化的时机,可以选择适合的触发方式来实现对中断的响应和处理。原创 2024-05-06 23:20:49 · 727 阅读 · 0 评论 -
使用F1C200S从零制作掌机之按键输入
使用PE3测试按键,使用10k电阻上拉,按键按下接地。原创 2024-05-02 22:12:39 · 118 阅读 · 1 评论 -
使用F1C200S从零制作掌机之定时器点灯&ioctl
ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。对I/O通道进行管理,就是对设备的一些特性进行控制。虽然在文件操作结构体struct file_operations中有很多对应的设备操作函数,但是有些命令是实在找不到对应的操作函数, 拓展一些file_operations给出的接口中没有的自定义功能,则需要使用到ioctl()函数。如CD-ROM的驱动,想要一个弹出光驱的操作,这种操作并不是所有的字符设备都需要的,所以文件操作结构体也不会有对应的函数操作。原创 2024-05-03 14:31:59 · 49 阅读 · 1 评论 -
使用F1C200S从零制作掌机之点灯大法
F1C200S 点灯驱动原创 2024-04-20 12:34:13 · 2091 阅读 · 0 评论 -
使用F1C200S从零制作掌机之镜像制作
镜像制作原创 2024-03-29 21:44:34 · 360 阅读 · 0 评论 -
使用F1C200S从零制作掌机之Linux内核与文件系统移植
Linux内核,文件系统移植。配置重启操作。原创 2024-03-26 21:50:50 · 1830 阅读 · 0 评论 -
使用F1C200S从零制作掌机之u-boot移植
除了bootz命令外,有些系统里面还可能存在一个叫做bootm命令,这是是对没有使用设备树内核的镜像启动命令,早期版本的内核没有引入设备树,因此对于早期的内核一般使用的是bootm,其命令格式为bootm内核地址,比如bootm x0x30008000,意思是从0x30008000开始启动内核,启动内核的过程其实是将pc指针指向该地址,这样处理器就会从该地址处运行代码。对于mmc (TF卡)而言,在u-boot有专门的命令load mmc,该命令可以将mmc中的代码从flash搬运到指定的地址处。原创 2024-03-26 21:47:22 · 1480 阅读 · 0 评论