查看: 4676|回复: 0

Keil搭建LL库工程

[复制链接]
  • TA的每日心情
    奋斗
    2022-9-16 05:52
  • 签到天数: 1368 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2017-6-17 12:12:00 | 显示全部楼层 |阅读模式
    分享到:
        GD32F450官方给出了GD的标准库,不过呢,用量最大的STM32现在主推HAL库,有一些变化,而且效率降低了,还要带上一大堆的文件,看着就不爽。好在STM32又有了更底层的库LL,文件少了很多,用起来不算太麻烦,只是教程比较少,所以想尝试一下。GD32F450VE和STM32F429VE是兼容的,正好用来试试。

        首先还是创建一个工程,步骤和原来的一样。前提是安装了STM32F4的包,还有STM32Cube的东西。
    1.png
        选择STM32F429VE,把450当作429来用,没什么区别。

    2.png
        有了操作系统好多代码就简单了许多,Keil自带的CMSIS OS已经升级到了V2.x的版本,用就用最新的。选择这三个就够了,其他的不要。其实Keil还提供了很多的中间件,封装好了驱动更方便的调用,不过不知最近Keil是不是偷懒了,一直没有更新,连主流的F4都没有随时跟进。

    3.png
        把MicroLib选上, 编译的固件文件小一些,只是这样就不支持FatFS了,暂时用不到。

    4.png
        GD32F450的板子自带了仿真器,直接选择CMSIS-DAP就可以了。

    5.png
        有多种速度可选,为了稳定我只用1M的。

        空工程建立完毕,下面该手动添加LL库的东西了。
    6.png
        打开STM32Cube,还是选择STM32F429VE,RCC里选择两个外部晶振时钟源。

    7.png
        在第二个标签页中设置时钟的参数,根据自己焊接的晶振来配置。

    8.png
        板子上带有三个用户可控制的LED,分别是PB3、PB4、PD7,顺手都选上吧。

        坑爹的地方来了,作为STM32主流的F4系列,居然到现在没有加上LL库代码自动生成的功能,大大出乎我的意料。连F0的都有,居然F4没有,难道现在使用F0的更多?
        没有办法,不提供也要用,好在这些LL的文件还是有的。
    9.png
        打开STM32Cube创建的工程文件夹,找到所有的LL文件拷贝到刚才建立的GD32F450的工程中,文件夹名称自己随便起一个,别忘了除了.c文件还有.h,都拷到一起。为了省事就不分开了。

    10.png
        刚才说到Keil偷懒不更新F4的库,所以创建工程时有些文件就要用Cube的来覆盖一下,否则编译时会有错误。把system_stm32f4xx.c和startup_stm32f429xx.s两个文件拷过来,位置随便放。

    11.png
        同样stm32f4xx.h、stm32f429xx.h和system_stm32f4xx.h这几个文件也要拷过来。

    12.png
        开始添加到工程里。工程树中建立文件夹,自己改名,然后双击添加所有的ll.c文件进来。

    13.png
        由于有了操作系统,可以使用Keil的模板来创建Main.c文件,方便使用线程。

    14.png
        别忘了把所有的头文件所在的路径引用进来,防止编译错误。
        最重要的一点,两个定义:USE_FULL_LL_DRIVER,STM32F429xx

    15.png
        好了,工程建立完毕,开始编译吧,也许会碰到部分小错误,自己调整下就行。只是因为STM32Cube没有F4自动生成的LL初始化代码,所以这部分没有加上,直接烧写就是使用的默认内部16M晶振,运行是正常的。



    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-11-15 07:59 , Processed in 0.122669 second(s), 16 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.