推荐阅读最新更新时间:2024-03-16 15:00
STM32原有的MDK工程下移植到GCC环境
1. 增加 STM32F429IGTx_FLASH.ld 这个文件存放芯片内存信息 STM32F429IGTx_FLASH.ld主要存放的是芯片内存的信息,堆栈大小,RAM,Flash大小, MEMORY{ }中存放的内存段,程序中有使用明确内存的地址的地方要在这里定义。 /* Entry Point */ ENTRY(Reset_Handler) /* Highest address of the user mode stack */ _estack = 0x20020000; /* end of RAM */ /* Generate a link error if heap and stack don&
[单片机]
arm cortex-m0 lpc1114简介
LPC1114是NXP公司推出的一款ARM Cortex-M0 内核的32位单片机。它的主频最大可达50MHz,内部集成时钟产生单元,不用外部晶振也可以工作。内部集成32KB FALSH程序存储器、8K SRAM数据存储器、一个快速I2C接口、一个RS485/EIA485 UART、两个带SSP特征的SPI接口、4个通用定时器、1个系统定时器、1个带窗口功能的看门狗定时器、功耗管理模块、1个ADC模块和42个GPIO。截至Ration写稿时,一片LPC1114的零售价只需5.9元,批量价更便宜。如此强大的处理器,如此低廉的价格,可谓是性价比无敌,其低功耗、简单易用、高能效和低成本相结合,必然会在市场中占有一席之地。 LPC1114
[单片机]
stm32专题三十六:MDK编译过程和文件类型(二)
MDK工程的文件类型: 1 下图为 Project 目录下的工程文件 实际上,只需要有 unprojx 文件,就可以恢复整个工程。 具体描述: 2 源文件 3 output 和 list 文件 详细分析: 1 uvprojx 文件 uvprojx 文件就是我们平时双击打开的工程文件,它记录了整个工程的结构,如芯片类型、工程包含了哪些源文件等内容。 可以使用vscode直接打开 uvprojx ,来看一下里面的具体内容: 2 uvoptx 文件 uvoptx 文件记录了工程的配置选项,如下载器的类型、变量跟踪配置、断点位置以及当前已打开的文件等。 我们在程序 main.c 的第81行
[单片机]
使用Keil MDK以及标准外设库创建STM32工程
1.1 使用Keil MDK以及标准外设库创建STM32工程 通过上一节对标准外设库的介绍,想必各位读者对标准外设库已经有了基本的认识,然而由于标准外设库中文件众多,很多初学者在开始很长一段时间内甚至都无法完全自己建立一个工程,很多人只是依赖标准外设库或给定的工程模板。本节就介绍怎样利用Keil MDK开发环境和标准外设库来搭建自己的工程。 建立一个基于标准外设库其实并不复杂,网络上也有很多关于怎样在Keil MDK下建立工程的教程,方法也各异,本节所介绍的方法本着少改动、便于使用、方便更换器件等原则,给大家介绍怎样在Keil中创建一个工程,并以一个最简单的例子来说明怎样下载和调试程序。 1.1.1 开发工具与开发环境 1. 软件
[单片机]
STM32经keil mdk编译产生的.map文件分析
昨天遇到堆大小不足的问题,扩大Heap的size觉得有必要去分析下整个程序的内存占用的详细情况,仅仅从生成的Code + RO + RW +ZI提示太笼统,无法清楚的看见我写的每一个函数,定义的每一个全局变量、静态变量的具体位置、大小等等,经各路大神的提示,我去仔细研究了下.map文件,上网查阅了相关的资料,本文主要受博主 非著名码农 的启示,原文地址 http://blog.csdn.net/ropai/article/details/7493168。 第一部分 Section Cross Reference 文件引用关系分析 主要是各个源文件生成的模块之间相互引用的关系 如第一句: startup_stm
[单片机]
NORDIC 烧录BLE协议栈后不能用JLINK仿真bootloader问题及修改方案
问题原因: bootloader的程序区域是0X78000~0X7E000 但是在bootloader程序中定义了0X0FF8与0XFFC位置处的数据,此数据与BLE协议栈冲突,BLE协议栈的flash范围是0~0X25FFF,所以烧录协议栈后不能用JLINK仿真 具体在bootloader中的代码为: /** @brief Location (in the flash memory) of the bootloader address. */ #define MBR_BOOTLOADER_ADDR (0xFF8) /** @brief Location (in UICR) of the bootloade
[单片机]
cortex m0 lpc1114的NVIC中断如何使用
LPC1114单片机的NVIC中断函数,有开中断、关中断、设置优先级、挂起等操作函数。这些函数位于core_cm0.h文件里面。比如开中断的函数如下: /** \brief Enable External Interrupt The function enables a device-specific interrupt in the NVIC interrupt controller. \param IRQn External interrupt number. Value cannot be negative. */ __STATIC_INLINE void NVIC_EnableIRQ(IRQn_Type IRQn) {
[单片机]
ARM仿真器JLINK、ULINK使用SWD调试时的接线方式
手头的仿真器是JLINK V8,连接STM32F103时,使用SWD方式。 JTAG引脚示意图: 一、SWD 和传统的调试方式区别 1. SWD 模式比 JTAG 在高速模式下面更加可靠 2. GPIO 刚好缺一个的时候, 可以使用 SWD 仿真, 这种模式支持更少的引脚 3. 在板子的体积有限的时候推荐使用 SWD 模式 二、仿真器对 SWD 模式支持情况 1. 市面上的常用仿真器对 SWD 模式支持情况 JLINKV8 非常好的支持 SWD 仿真模式, 速度可以到 10M ULINK2 非常好的支持 SWD 模式,速度可以达到 10M 2. SWD 硬件接口上的不同 (1) JLINKV7 需
[单片机]