内存映射移植
1.进入:E:\rtthread\rt-smart-20201125\rt-smart\kernel\bsp\imx6ull
2.打开menuconfig,修改PV_OFFSET
1.进入:E:\rtthread\rt-smart-20201125\rt-smart\kernel\bsp\imx6ull\drivers
2.进入board.c,修改即可
终端:GIC地址移植
因为时钟和串口都要用到中断,所以需要移植中断。
中断由分发器和CPU接口构成,所以要移植中断,只需要修改:以下
地址分别为:(0x00A00000+0x2000)
(0x00A00000+0x1000)
驱动程序
应用程序如何调用驱动程序
应用程序通过SVC调用驱动程序。
首先根据名字找到一个驱动程序rt_device_open("???");这个函数返回一个device,之后就可以使用这个device来访问驱动程序中的所有程序了。
串口
学习过嵌入式知识,很好理解。使用分离思想,有助于我们移植代码。
应用层:console(二道贩子)
驱动层:uart
uart_ops:用于实现串口的功能(配置,管理读,写)
hw_uart_device:用于存放UART的基地址和中断号。(区别不同的串口)
串口驱动移植
一般步骤
基于imx6ull的串口移植(uart1)
实现操作功能可以借鉴以前的裸机代码:
E:\aaa\doc_and_source_for_mcu_mpu\IMX6ULL\source\02_录制视频时现场编写的源码\05_uart
使用menuconfig来禁止。