爱板网论坛

查看: 228|回复: 0

[GD32F450方案分享] Keil搭建LL库工程

[复制链接]

145

主题

2

好友

6330

积分

版主

Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    奋斗
    昨天 07:17
  • 签到天数: 1314 天

    连续签到: 32 天

    [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晶振,运行是正常的。



    回复

    使用道具 举报

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

    关闭

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

    手机版|爱板网 |网站地图  

    GMT+8, 2017-11-18 03:26 , Processed in 0.246950 second(s), 11 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部