另外想请问一下,我现在的应用,在STM32上是可以的,因为想用国产芯片,所以尝试移植过来,
我直接用烧进来不修改任何东西,跑HSI 4x16 64MHz 还没发现问题,基本能跑,但有些人说是
山寨的,里面完全一样,有些人说不太一样需要修改部分代码,我找的的资料比较零碎,有些说
DMA需要注意,有些说某个GPIO的用法不太行,有些说FLASH不太一样,也没有一个对照表告诉我们
需要改那里,注意那里,没有官方的说明所以我不太敢用,需要测试久一点才敢用,希望有高手可以帮我评估一下
我的应用如下
硬件方面:
(1)UART2 用了 DMA1_channel_6 + DMA1_channel_7 + UART_2 中断
(2)UART4 用了 DMA2_channel_3 + DMA2_channel_5 + UART_4 中断
(3)SPI1 用了 DMA1_channel_2 + DMA1_channel_3 + SPI1中断
(4)SPI2 用了 DMA1_channel_5
(5)SPI3 用了 中断
(6)PWM 用了 PB0, PB1, PC6, PC7
(7)ADC 用了 PC0, PC1, PC2, PC3
(8)几个GPIO
(9)SysTick 用了 SysTick 中断
(10)FLASH 用原来ST库里的函数FLASH_Unlock(),FLASH_ProgramHalfWord()等等对FLASH进行擦和写
(11)有使用BKP RAM 电池供电储存器 来保存数据
(12)有使用WATCH_DOG
(13)有用GPIO PB6, PB7 --> EXTI9_5_IRQ 中断
其他软件行为:
(1)有调用 SCB->VTOR 重映射跳转表
(2)有读取 96bit 的 UID (在这个芯片里也是96bit吗?也是唯一码吗?)
(3)有在程序里打开ROP,以及关闭ROP(芯片清空)
(4)部分函数直接访问非对齐数据(STM32支持,不知道这个行不?)
|