Qemu-STM32(三):STM32F407加入系统配置控制器(SYSCFG)
创作时间:
作者:
@小白创作中心
Qemu-STM32(三):STM32F407加入系统配置控制器(SYSCFG)
引用
CSDN
1.
https://m.blog.csdn.net/yanl1229/article/details/145625386
本文详细描述了如何在Qemu中为STM32F407添加System Configuration Controller控制器的模拟代码。通过具体的步骤和代码示例,帮助开发者完成这一技术实现。
概述
本文主要描述了Qemu中,如何在STM32F407中添加System Configuration Controller控制器模拟代码。
板子截图:
参考资料
STM32F4XX TRM手册,手册编号:RM0090
添加步骤
1、在hw/arm/Kconfig文件中添加STM32F4XX_SYSCFG,如下所示:
config STM32F407_SOC
bool
select ARM_V7M
select OR_IRQ
select STM32F4XX_SYSCFG
2、在include/hw/arm/stm32f407_soc.h文件中
a.包含实现头文件
#include "hw/misc/stm32f4xx_syscfg.h"
b. 设置syscfg控制器的地址空间和中断号
#define SYSCFG_BASE_ADDRESS 0x40013800
#define SYSCFG_IRQ 71
c. 在struct STM32F407State结构体中添加syscfg
STM32F4xxSyscfgState syscfg;
3、在hw/arm/stm32f407_soc.c文件中添加如下代码片段
a. 在stm32f407_soc_initfn函数中,初始化syscfg控制器
sysbus_init_child_obj(obj, "syscfg", &s->syscfg, sizeof(s->syscfg),
TYPE_STM32F4XX_SYSCFG);
b. 在stm32f407_soc_realize函数中,初始化syscfg控制器的地址空间和中断号
/* System configuration controller */
dev = DEVICE(&s->syscfg);
object_property_set_bool(OBJECT(&s->syscfg), true, "realized", &err);
if (err != NULL) {
error_propagate(errp, err);
return;
}
busdev = SYS_BUS_DEVICE(dev);
sysbus_mmio_map(busdev, 0, SYSCFG_BASE_ADDRESS);
sysbus_connect_irq(busdev, 0, qdev_get_gpio_in(armv7m, SYSCFG_IRQ));
总结
1、本文描述了如何在qemu中, 在stm32f407平台上添加System Configuration Controller控制器实现;
2、因为qemu的源码库已经加入了syscfg的实现代码,因为这里只描述了添加步骤
3、完整的提交记录,请查看代码库链接
链接:
1、qemu代码库链接
yanl1229/qemu-5.0
热门推荐
过敏性鼻炎治疗指南:如何为你的孩子选择合适的药物?
梦幻西游时空区的号能买吗?解析69级空号的高价值
装修封窗知识培训课件
六险二金包括什么
【医学科普】TFCC损伤:症状、诊断与治疗全解析
菌血症的症状和临床表现
爆炒羊蝎子
羊蝎子炖制教程:冬季滋补佳品,这样做更美味
Intel IPO 优化:全面解锁处理器潜能的性能革命?
IT项目管理交接清单怎么写
破解公共收费难题,提升服务质量与透明度
路边停车对地方经济发展的贡献
扎染工艺:传统与创新的完美融合
扎染:针与线的千年穿梭
聚光灯下的选择!从中国超级散打王,看年轻运动员该如何坚守热爱
散打讲堂|百战谋当先!训练散打战术,4大技巧行之有效
NBA硬工资帽/土豪线
女人常吃5样,天然的“胶原蛋白”,隔三岔五吃,气色好,显年轻
离心泵串联及并联运行计算
英语作文写作技巧:词汇与句型的积累
中科院研究团队揭示华北克拉通北缘榴辉岩相变质作用时代
为什么你的LLMs玩不转外部知识?RAG分类学助你诊断!
如何正确撰写教学设计目标
眼皮一直抽搐跳动的原因及护理方法
探索多样化学习风格提升学习效果的方法
如何利用客户反馈优化关键词
车位使用年限解析:产权与使用权的区别
车位产权年限2024新规:从产权归属到使用期限全解析
国考报名热度已超去年,河南尚有12个岗位无人报
锂离子电池之三元正极材料Li(Ni,Co,Mn)O2制备方法以及改性措施