爱板网论坛

查看: 343|回复: 0

[资料] 7..STM32F469I---移植rt-thread

[复制链接]

主题

好友

1万

积分

翰林

  • TA的每日心情
    郁闷
    19 小时前
  • 签到天数: 708 天

    连续签到: 3 天

    [LV.9]以坛为家II

    发表于 2018-1-12 12:13:57 |显示全部楼层
    【STM32F469I试用】移植rt-thread【转】

    拿到这块板子有一段时间了,苦于年底公司事情实在是太多,一直没时间来玩。今天抽了点空把rt-thread弄了上去,发现效果还不错,速度比早期的几款disco系列的板子快多了。以后有空了再把ucos,ucgui,uclinux都弄上去玩玩,这么大的屏幕,不玩下qt实在有点亏。

    下面是移植rt-thread的步骤。从www.rt-thread.org下载源码

    1 复制bsp下的stm32f40x文件夹,将里面的Libraries文件下的两个文件夹删除,替换刚才www.st.com下载的对应于stm32f469ni这颗芯片的标准库(其实不替换也行,主要是st的兼容性做的太好了
    2 修改\bsp\stm32f469\Libraries\SConscript 为下面这样
       # The set of source files associated with this SConscript file.
    src = Split("""
    CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c
    """)

    src += Glob('STM32F4xx_StdPeriph_Driver/src/*.c')

    #add for startup script
    if rtconfig.CROSS_TOOL == 'gcc':
         src = src + ['CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc_ride7/startup_stm32f429_439xx.s']
    elif rtconfig.CROSS_TOOL == 'keil':
         src = src + ['CMSIS/ST/STM32F4xx/Source/Templates/arm/startup_stm32f4xx.s']
    # elif rtconfig.CROSS_TOOL == 'iar':
        # src = src + ['CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/iar/' + startup_scripts[rtconfig.STM32_TYPE]]

    path = [cwd + '/STM32F4xx_StdPeriph_Driver/inc',
        cwd + '/CMSIS/Device/ST/STM32F4xx/Include',
        cwd + '/CMSIS/Include']

    CPPDEFINES = ['USE_STDPERIPH_DRIVER', rtconfig.STM32_TYPE]
    #CPPDEFINES = ['USE_STDPERIPH_DRIVER']

    主要是加入Device和加入rtconfig.STM32_TYPE这两个。

    3 修改rtconfig.py 加入了stm32f469ni的类型定义
    STM32_TYPE = 'STM32F469_479xx'

    4 修改rtconfig.h
    //#define RT_USING_UART1
    //#define RT_USING_UART2
    #define RT_USING_UART3
    由于这块板子的控制台串口用的是UART3,所以将其打开,其他的注释掉,有兴趣的话可以把其他所有的串口支持都加上。

    5 修改stm32_rom.ld
    MEMORY
    {
        CODE (rx) : ORIGIN = 0x08000000, LENGTH = 2048k /* 1024KB flash */
        DATA (rw) : ORIGIN = 0x20000000, LENGTH =  320k /* 128K sram */
    }

    这个是gcc下的链接配置文件,主要改下flash和sram的大小,这个芯片应该是支持384k的,为了保险起见(担心内存不连续),没用后面的64K

    6 修改usart.c
    将串口的管脚配置上
    #define UART3_GPIO_TX       GPIO_Pin_10
    #define UART3_TX_PIN_SOURCE GPIO_PinSource10
    #define UART3_GPIO_RX       GPIO_Pin_11
    #define UART3_RX_PIN_SOURCE GPIO_PinSource11
    #define UART3_GPIO          GPIOB
    #define UART3_GPIO_RCC      RCC_AHB1Periph_GPIOB
    #define RCC_APBPeriph_UART3 RCC_APB1Periph_USART3

    7 编译
    scons.bat
    得到rtthread.bin,就可以用st的下载工具去下载了。(将下面文件的后缀名pdf改为bin就可以下载到板子了)

    rtthread.pdf (69.48 KB, 下载次数: 0, 售价: 1 铜板)

    8 下载的时候是要用最新的st下载工具,否则会报错的。
    9 串口打印消息

    1.jpg



    stm32f469nih6-rtthread.7z.001.zip (4 MB, 下载次数: 0, 售价: 1 铜板)

    stm32f469nih6-rtthread.7z.002.zip (4 MB, 下载次数: 0, 售价: 1 铜板)

    stm32f469nih6-rtthread.7z.003.zip (2.27 MB, 下载次数: 0, 售价: 1 铜板)
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /3 下一条

    手机版|爱板网

    GMT+8, 2018-9-19 19:48 , Processed in 0.082453 second(s), 14 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-5   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001056号

    Powered by Discuz!

    返回顶部