从SXX32F0xx/GX32F3x0移植到AT32F415的移植指南

需积分: 34 3 下载量 161 浏览量 更新于2024-07-09 收藏 701KB PDF 举报
"该文档是关于从STM32F0xx和GD32F3x0微控制器移植到AT32F415的详细指南,涵盖了硬件、外设和固件移植的关键步骤,旨在加速移植过程并指出注意事项。" 在进行微控制器移植时,主要涉及三个方面:硬件移植、外设移植和固件移植。以下是对这些关键领域的详细讨论: 1. **硬件移植**: - 异同分析:文档比较了AT32F415与SXX32F0xx/GX32F3x0的硬件特性,包括引脚兼容性和功能差异。 - 引脚兼容性表:提供了一个对照表,帮助用户识别哪些引脚可以直接对应,哪些需要重新配置。 - GPIO 5V容忍:强调AT32F415可能存在的GPIO 5V容忍特性,确保电路设计的兼容性。 2. **外设移植**: - 外设对比:列出两个系列微控制器的外设相容性和功能差异,如RCC(复用功能时钟控制器)、DMA、中断向量等。 - 存储器映射:讨论了存储器地址空间的变化,这对于内存访问和驱动程序开发至关重要。 - RCC接口:详细阐述RCC接口的不同,特别是PLL(锁相环)的配置,包括预分频器设置。 - DMA接口:指出DMA通道和配置的差异,可能需要修改代码以适应新的DMA机制。 - 中断向量:中断向量表的变更会影响中断处理程序的定义。 - EXTI中断源:EXTI中断源的选择可能有所不同,需要调整中断处理程序。 - GPIO、ADC、SPI、I2C和USART接口:这些常见外设在新平台上的工作方式和配置可能有变化,需要逐个检查和适配。 3. **固件移植**: - 固件移植涉及编程模型、库函数和系统服务的更改。 - 高频PLL设定:AT32F415的高频PLL可能需要新的配置策略,这可能影响系统时钟速度和性能。 - 安全库区保护:新的微控制器可能增加了对安全区域的保护,需要更新代码以确保符合新的安全要求。 - 32位定时器:可能需要更新定时器初始化代码以适应新的定时器结构。 - USB接口:如果应用中包含USB通信,需要考虑新接口的差异和配置。 - 内部温度传感器:使用新的内建温度传感器可能需要调整读取方法。 - ERTC日历读取:可能存在不同的读取机制,可能影响实时时钟的使用。 - USART智能卡模式:在接收数据时可能会遇到异常情况,需要调试和修复。 4. **版本历史**: 文档最后提供了版本历史,记录了不同版本间的改动,帮助用户跟踪更新。 从STM32F0xx和GD32F3x0移植到AT32F415涉及到一系列的兼容性检查和代码修改。用户需要详细阅读提供的差异列表,理解每个差异对项目的影响,然后逐步调整代码和硬件设计以适应新的微控制器。这个过程需要耐心和细心,但通过正确的方法,可以高效地完成移植工作。