当前位置:首页 > 单片机 > 单片机
[导读]步骤与图示:1.先给个CPU的数据,需要注意的是三个红圈的地方,架构,型号,Flash和SRAM大小如图1(STM32F107VC 256KB FLASH,64KB SRAM)图12.Target的设置1)勾上可以用微库,减小生成代码的大小2,3)分别定义ROM区位

步骤与图示:

1.先给个CPU的数据,需要注意的是三个红圈的地方,架构,型号,Flash和SRAM大小如图1


(STM32F107VC 256KB FLASH,64KB SRAM)

图1

2.Target的设置

1)勾上可以用微库,减小生成代码的大小

2,3)分别定义ROM区位置及大小和RAM区位置和大小。在这里需要说明的是,Cortex-M3的架构有4G的寻址空间,而Flash的起始地址在0x08000000,RAM地址在0x20000000,在这里进行了第一次相关地址的更改;如图2

0x1000为4K,这里的0xc000则为48K的ROM分配;RAM的为16K;基本上移植个uCOS-II都够用了


图2

3.Output的设置

选择Remout文件夹

强调一下Name of Executable吧;这里默认的应该是project的名字,改成output;而且这与编译后产生的*.axf和*.sct文件名字都有关联;没勾选HEX;见图3


图3

4.Listing Label 默认

5.User Label 默认

6.C/C++ Label 默认

7. Asm Label 默认

8. Linker Label

最上边打上勾,是这效果;不打勾,就反白了

先说说打勾的时候,如图4;非人为操作,你什么都不用管了,(很多人会发现,新建的项目,刚开始的时候下面的Scatter File后的内容是空的,当你把这勾去掉后会自动出现,然后随你勾与不勾,就都是存在的了,不过此时还只是个影子,没有实际的文件,什么时候出现这个文件呢,法一:自然你可以自己写;法二:在出现影子后打上勾编译一次,此文件就产生了;在output的文件夹里;马上后文还会有对此文件内容的介绍)



图4

再说说不打勾的时候会反白一些内容,如图5,需要修改两个地方

图5

再来看看output.sct文件内容,如图6~6行内容是ROM的地址和大小,11行事RAM的地址和大小,很是一目了然,内容根据Target自动生成的,不需要手动修改


图6


LR_IROM1 0x20000000 0x0000C000 { ;load region size_region

ER_IROM1 0x20000000 0x0000C000{ ;load address = executionaddress

*.o (RESET, +First)

*(InRoot$$Sections)

.ANY (+RO)

}

RW_IRAM1 0x2000C000 0x00004000{ ;RW date

.ANY (+RW +ZI )

}

}

9.Debug的配置

分成几部分,原界面和Setting界面

1)原界面,如图7,首先选好J-link ,在keil5下,选择“CMSIS-DAP Debugger”,取消Load Application at Startup的勾选

图7

再说说这个RAM.ini文件,内容如下,如图8,有注释

首先LOAD output.axf,加载启动代码到RAM,关关于hex,bin文件和axf的关系,是在axf中存有Debug需要的一些调试语句,所以这文件与前2者内容上是不相同的,前两者属于其子集的关系,(这里的output.axf名字对应了我们上边设定的output的文件名设定,此文件在output中设定的文件夹下生成,跟output.sct在一起)从文件内容可以看到,中断向量表已经被映射到0x20000000,PC也指向了0x20000004,说明在RAM中进行调试时理论上可以的了

图8

RAM.INI文件:

/******************************************************************************/

/* RAM.INI: RAM Initialization File */

/******************************************************************************/

/* This file is part of the uVision/ARMdevelopment tools. */

/* Copyright (c) 2010 Keil - An ARMCompany. All rights reserved.*/

/* This software may only be used under theterms of a valid, current, */

/* end user licence from KEIL for acompatible version of KEIL software*/

/* development tools. Nothing else givesyou the right to use this software. */

/******************************************************************************/

FUNC void Setup (void) {

SP= _RDWORD(0x20000000); // SetupStack Pointer

PC= _RDWORD(0x20000004); // SetupProgram Counter

_WDWORD(0xE000ED08, 0x20000000);// Setup Vector Table Offset Register

}

LOAD..RemoutProject.axfINCREMENTAL //Download

Setup(); // Setup forRunning

g, main

()

2)进入setting如图9


图9

3)然后进入了Flash Download label,如图10~Flash的擦写有规矩,需要在有内容的情况下擦出一个扇区后方可写入,而此时的RAM自然不必要这样做,然后需要点击add添加Flash编程算法接着进入了选择界面,如图11


图10

在这里选择好属于自己的芯片Flash大小~256K ~

add后还需要再更改最后一行红线上的内容,此时需要先点一下刚选好的变成算法就会反白可编辑,然后编程算法会自动更改其自身的地址




图11

10.进入Utilities~同Debug一样,选择其中的setting其实刚刚讲过,其实是同一个,如图12

图12

RAM调制到此为止

需要提醒大家注意的几点是:

1.Debug开始后~不要点reset~因为这样后走的就是Flash的程序了~容易造成调试问题~结果是产生keil被kill掉的PC错误~

2.重新启动开发板后一定要build target一次~或者rebuild all一次再烧写程序~不然~很容易同上


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

存储器是计算机系统中的关键组件,负责存储程序指令和数据,是实现计算和信息处理的基础。根据其工作原理、存储容量、访问速度、稳定性以及持久性等诸多特性,存储器可以被细分为多个类别。本篇文章将详细介绍存储器的主要分类,并探讨各...

关键字: 存储器 RAM

提供业界最高容量的闪存、RAM和GPIO组合,支持Matter over Thread

关键字: 闪存 RAM 物联网

STM32是由意法半导体公司(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列,以其高性能、低功耗、丰富的外设接口和强大的生态系统深受广大嵌入式开发者喜爱。本文将详细介绍S...

关键字: STM32 单片机

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

STM32与51单片机之间有什么差异呢?两者可以说是一场科技与性能的较量了。在科技飞速发展的今天,微控制器(MCU)已广泛应用于各类电子设备和系统中,发挥着举足轻重的作用。其中,STM32和51单片机作为两种常见的微控制...

关键字: STM32 51单片机 MCU

电磁铁是一种利用电流产生磁场的装置,具有快速响应、易于控制等特点,在工业自动化、电子设备、科学实验等领域有着广泛的应用。STM32是一款功能强大的微控制器,具有高性能、低功耗、易于编程等优点,是控制电磁铁的理想选择。本文...

关键字: 电磁铁 微控制器 STM32

边缘人工智能的实现涉及到三个基本 要素:安全性,连接性、自主性,而其中自主性是AI能力的体现,也是边缘AI有别于其他传统的物联网的关键。而通过ST Edge AI套件,就可以帮助各种不同类型的开发者实现覆盖全硬件平台的全...

关键字: 边缘人工智能 AI STM32

今天,小编将在这篇文章中为大家带来STM32单片机最小系统的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: 单片机 单片机最小系统 STM32

STM32是一款由STMicroelectronics生产的微控制器系列,具有高性能、低功耗和丰富的外设资源。其中,串口通信是一种常用的通信方式,可以实现与其他设备之间的数据传输。

关键字: STM32 串口通信 微控制器
关闭
关闭