您尚未登录。

楼主 # 2023-01-14 22:21:05

newluhux
会员
所在地: SX TAIYUAN
注册时间: 2022-11-12
已发帖子: 13
积分: 49
个人网站

mt7628模拟器

最近对qemu很感兴趣,尝试造了一下qemu的mt7628支持。

项目地址: https://github.com/newluhux/qemu-mt7628

现在已经可以启动Linux内核并且登录交互了。

已经实现:

部分 sysctl (对于运行Linux内核是够了)

部分 中断控制器 (对于运行Linux内核是够了)

UART * 3 (ns16550a 这个qemu有现成的)

感兴趣的老铁们可以加入进来。

开发很简单,阅读Linux的源码,然后对着源码调试,然后在qemu填上逻辑就行。

比如sysctl里面的系统信息直接dump真实mt7628设备然后填入。

中断控制器也很简单,模拟一下中断的mask和unmask的内存映射就可以了。

离线

楼主 #1 2023-02-04 20:10:45

newluhux
会员
所在地: SX TAIYUAN
注册时间: 2022-11-12
已发帖子: 13
积分: 49
个人网站

Re: mt7628模拟器

更新:

已经实现spi master,spi的cs0默认挂了一个w25q128的flash.
现在可以启动uboot了,也可以启动flash里面的固件了
但是无法启动未修改过的openwrt.原因是没实现ethernet的模拟,驱动会卡死。

离线

楼主 #2 2023-02-16 13:16:59

newluhux
会员
所在地: SX TAIYUAN
注册时间: 2022-11-12
已发帖子: 13
积分: 49
个人网站

Re: mt7628模拟器

更新,spi控制器的两个cs line实现了,spi控制器应该没有更多需要实现的东西了。

ethernet的模拟也实现了,但是不一定正确,因为没有资料,这个实现是对着uboot的驱动实现的,uboot里面可以使用网络功能了

下一步就是理解一下Linux内核的网络驱动代码,然后给ethernet的模拟加上中断支持

不过在此之前准备实现一下i2c控制器

20230213_21h52m39s_grim.png

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn