This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

为什么MDK-ARM v5中没有更新使用STM32CUBEF1?

使用MDK-ARM v5新建一个工程时(不是直接打开STM32CUBEF1的示例),可以在“Manage Run-Time Environment->Device”中选择使用设备底层HAL,但我发现即使使用了最新的“Keil.STM32F1xx_DFP.2.1.0.pack”也不能在其中选择Cube的framework,而可选的是早已不用的外设库见下图:

 

如果使用F4,可能可以选择到Cube的framework,如下图:

这是为什么呢?

另外,如果单独使用“en.stm32cubef1”中的示例,还需要手动添加一个包含目录,否则编译有很多警告,原因就是CUBEF1用的core_m3.h是v4.3,而现在MDK-ARM下的CMSIS最新的core_m3.h是v5.0了,这些好像st都没有更新啊?另外F4中也是如此!

请问哪有关于CUBE与CMSIS的关系说明?

谢谢!

Parents
  • 我看了下CMSIS,其愿景是好的!

    CMSIS-Driver:

     

    CMSIS-Driver实现了一个API层来封装底层HAL库,比如针对所有的外设,统一API:初始化、读、写、关闭等,我看完这个文档感觉此API层很好!

    但问题是,我也看了ST和NXP(两者的PACK)与CMSIS的配合,其基本上就没有配合!无论ST还是NXP,他们都有自己的一套“CMSIS-Driver”,这会导致学习2个不同的实现和策略,增加了学习的时间。当然,外设的上层封装本来也不是那么简单的,要考虑中断、DMA、IO读写、RTOS等,但还是想能够使得CMSIS能够被真正使用起来,也需要ARM和ST等厂商共同推进才行!(ST都基本用自己的CUBE,NXP好像没有实现吧?或者有进一步的资料?)

    不知道David如何想法?

    目前,基本的,只有CMSIS-CORE能够被全部厂商共同使用(先不考虑CMSIS-RTOS, CMSIS-DSP等与芯片外设无关的部分),否则基于Cortex-M的底层(包括内核寄存器定义、启动文件等)没必要重写。

Reply
  • 我看了下CMSIS,其愿景是好的!

    CMSIS-Driver:

     

    CMSIS-Driver实现了一个API层来封装底层HAL库,比如针对所有的外设,统一API:初始化、读、写、关闭等,我看完这个文档感觉此API层很好!

    但问题是,我也看了ST和NXP(两者的PACK)与CMSIS的配合,其基本上就没有配合!无论ST还是NXP,他们都有自己的一套“CMSIS-Driver”,这会导致学习2个不同的实现和策略,增加了学习的时间。当然,外设的上层封装本来也不是那么简单的,要考虑中断、DMA、IO读写、RTOS等,但还是想能够使得CMSIS能够被真正使用起来,也需要ARM和ST等厂商共同推进才行!(ST都基本用自己的CUBE,NXP好像没有实现吧?或者有进一步的资料?)

    不知道David如何想法?

    目前,基本的,只有CMSIS-CORE能够被全部厂商共同使用(先不考虑CMSIS-RTOS, CMSIS-DSP等与芯片外设无关的部分),否则基于Cortex-M的底层(包括内核寄存器定义、启动文件等)没必要重写。

Children