历史上的今天
返回首页

历史上的今天

今天是:2025年04月16日(星期三)

正在发生

2019年04月16日 | STM32定义堆栈地址到ram区顶部

2019-04-16 来源:elecfans

本设置针对stm32f103rbt6的设置,该芯片RAM大小为20kB,故RAM区地址范围为0x20000000—0x20005000,芯片信息如下图所示;

第一步:

设置.sct文件;

;*************************************************************

; *** Scatter-Loading Description Filegenerated by uVision ***

; *************************************************************

LR_IROM1 0x08000000 0x00020000  {    ;load region size_region

ER_IROM1 0x08000000 0x00020000 {  ; load address = executionaddress

  *.o (RESET, +First)

  *(InRoot$$Sections)

  .ANY (+RO)

  }

RW_IRAM1 0x20000000 0x00005000 {  ; RW data

  .ANY (+RW +ZI)

  }

RW_IRAM2 0x20004800 UNINIT 0x00000800 {  ; STACK ADDRESS

  startup_stm32f10x_md.o (STACK)

  }

RW_IRAM3 0x20004600 UNINIT 0x00000200 {  ; HEAP ADDRESS

  startup_stm32f10x_md.o (HEAP)

  }

}

RW_IRAM2 0x20004800 UNINIT 0x00000800  //设置栈起始地址为0x20004800,栈大小为0x00000800

RW_IRAM3 0x20004600 UNINIT 0x00000200   //设置堆起始地址为0x20004600,堆大小为0x00000200

第二步:

在启动文件中设置堆栈大小;

此处设置的堆栈大小要与第一步一致,否则将会以这次设置的大小为准,第一步设置的堆栈大小将失效;

第三步:

设置存储区分配地址方式;

如下图所示设置,Scatter file选择第一步设置好的.sct文件;

第四步:

查看生成的.map文件

如下图所示,表示起始的堆栈地址已设置到RAM顶端

第五步:

测试验证;

如下图所示,测试验证成功,开始时堆栈地址指向RAM的顶端,即R13的值为0x20005000


推荐阅读

史海拾趣

Gamewell-FCI ( Honeywell )公司的发展小趣事

在电子行业中,Gamewell-FCI作为霍尼韦尔(Honeywell)旗下的重要品牌,其发展历程充满了诸多关键节点和里程碑事件。以下是五个与Gamewell-FCI(Honeywell)公司发展相关的故事,每个故事均基于事实描述:

1. Gamewell-FCI的起源与并入霍尼韦尔

Gamewell-FCI的起源可以追溯到其前身Gamewell Fire Alarm Telegraph Company,该公司成立于19世纪末,以生产创新的火灾报警系统而闻名。随着技术的不断进步和市场需求的扩大,Gamewell逐渐发展成为火灾安全领域的领导者。20世纪后期,Gamewell被FCI(Fire Control Instruments)收购,进一步巩固了其在消防报警技术领域的地位。随后,随着霍尼韦尔在工业自动化和安全领域的扩展,Gamewell-FCI被并入霍尼韦尔大家庭,成为其安全与生产力解决方案集团的一部分。这一合并不仅为Gamewell-FCI带来了更广阔的市场和资源,也使其能够继续推动消防安全技术的创新与发展。

2. 技术创新与产品线扩展

在并入霍尼韦尔后,Gamewell-FCI凭借其深厚的技术底蕴和创新能力,不断推出新产品和技术解决方案。从传统的火灾报警系统到先进的智能火灾探测和预警系统,Gamewell-FCI始终走在行业前列。公司还积极拓展产品线,涵盖了气体检测、紧急通讯、安全疏散等多个领域,为客户提供全方位的消防安全解决方案。这些技术创新和产品线扩展不仅增强了Gamewell-FCI的市场竞争力,也为其在全球范围内的业务扩展奠定了坚实基础。

3. 全球化布局与战略合作

随着全球化进程的加速,Gamewell-FCI也积极实施全球化战略,通过在全球各地设立分支机构、与当地企业建立合作关系等方式,不断扩大其市场覆盖面。同时,公司还注重与行业内的领军企业建立战略合作关系,共同推动消防安全技术的创新与发展。这些合作不仅为Gamewell-FCI带来了更多的商业机会,也促进了全球消防安全领域的交流与合作。

4. 应对市场挑战与转型

面对不断变化的市场环境和客户需求,Gamewell-FCI始终保持着敏锐的洞察力和灵活的反应能力。当传统消防安全市场逐渐饱和时,公司及时调整战略方向,将重心转向智能消防、物联网等新兴领域。通过引入先进的物联网技术、大数据分析等手段,Gamewell-FCI成功实现了从传统消防设备制造商向智能消防安全解决方案提供商的转型。这一转型不仅为公司带来了新的增长点,也为其在全球消防安全领域的领先地位提供了有力支撑。

5. 可持续发展与社会责任

作为霍尼韦尔的一部分,Gamewell-FCI始终将可持续发展和社会责任视为企业发展的重要组成部分。公司致力于通过技术创新和高效运营来降低产品对环境的影响,并积极推广节能减排、绿色建筑的理念。同时,Gamewell-FCI还积极参与社会公益事业,为灾区提供紧急救援、为教育机构提供安全培训等,展现了其作为行业领导者的社会责任感。这些努力不仅提升了公司的品牌形象和社会声誉,也为公司的长远发展奠定了坚实基础。

GISMA Steckverbinder GmbH公司的发展小趣事

随着全球电子市场的不断扩大,GISMA积极实施国际化战略,努力拓展海外市场。公司不仅在欧洲市场建立了稳固的地位,还逐步将业务拓展到亚洲、北美等地区。通过参加国际展会、建立海外销售网络等方式,GISMA成功吸引了众多国际客户的关注,进一步提升了品牌知名度和市场占有率。同时,GISMA还积极寻求与国际知名企业的合作机会,共同推动电子行业的发展。

GigPeak公司的发展小趣事

在快速发展的过程中,GigPeak深刻认识到与产业链上下游企业合作的重要性。公司积极寻求与芯片制造商、设备供应商和系统集成商等合作伙伴建立长期稳定的合作关系。通过资源共享、技术交流和联合研发等方式,GigPeak与合作伙伴共同构建了一个完整的产业生态体系。这一生态体系的建立不仅提升了GigPeak的市场竞争力,还促进了整个行业的健康发展。

贝特莱公司的发展小趣事

深圳贝特莱电子科技股份有限公司成立于2011年7月,从一开始,公司就明确了以技术研发为核心的发展战略。依托专业团队多年的行业资源积累,贝特莱致力于开发具有自主知识产权的核心技术。在指纹识别、触控、生命感知及MCU等芯片领域,贝特莱不断取得突破,为后续的市场拓展奠定了坚实的基础。

BJB公司的发展小趣事

在市场竞争日益激烈的环境下,BJB公司注重品牌建设和形象提升。公司加强了品牌宣传和推广力度,通过广告宣传、媒体报道等多种方式提升品牌知名度和美誉度。同时,BJB还积极参与社会公益事业,履行企业社会责任,赢得了社会各界的广泛认可和赞誉。

Global Communications公司的发展小趣事
利用微处理器或数字信号处理器(DSP)等数字设备,将温度传感器检测到的温度信号进行数字化处理后,通过算法计算出相应的补偿量,并控制晶体振荡器的输出频率或相位。这种方法具有高度的灵活性和准确性,但成本相对较高。

问答坊 | AI 解惑

B题讨论

本帖最后由 paulhyde 于 2014-9-15 09:00 编辑 有对B题感兴趣的吗?进来一下,大家一起讨论一下  …

查看全部问答>

用MAX712芯片自制的充电器

一、线路图:   1、rsense电阻取1欧姆时。充电电流为250MA,0.5欧姆时,电流为520MA,2N6109用TIP42代替,SHUNT电阻为限流电阻,大约1K,其他参数如图。   转绢流后充电机充电电流是原来的1/8还是1/16取决于PGM3脚的接法:   Rsense电阻两 ...…

查看全部问答>

我用LPC932编的串口发送程序为什么不能发送,请高手指教

#include #define uchar unsigned char uchar key_in = 0x55; void main() { //P1口设置为准I/O口模式 P1M1 = 0x00; P1M2 = 0x00; SCON = 0x50; PCON = 0x00; SSTAT=0x00; BRGCON=0x00; BRGR0 = 0x90; BRGR1 = 0x01; BRGCON=0x0 ...…

查看全部问答>

ARM9的ADC怎么和外部电路连接

请问ARM9的ADC怎么和外部的放大电路连接?…

查看全部问答>

求高手帮忙MagicAMR2200A上开发WAV播放器

如题,求高手帮忙。。一点头绪都没啊。。 …

查看全部问答>

DM9000网卡ID被检测为0x46464646如何解决?

本人在移植DM9000驱动中遇到一个棘手的问题,搞了两天仍未解决,望大家帮帮忙! 1.DM9000的CMD与ARM2440的A2地址线相连,AEN连接nGCS4,其偏移地址是0x20000300; 2.DM9000的ID为0x90000A46,但却始终检测不了,却读出为0x46464646,而0x46正是DM ...…

查看全部问答>

quartus功能仿真出现致命错误。 Fatal error: Module: quartus_sim.exe Exception: Access Violat

*** Fatal error: Module: quartus_sim.exe Exception: Access Violation Stack Trace: 01a314e6: SDB_DFF_INFO::set_last_clock_value() + 0x34 (tsm_sdb) 01a03144: EDS_ENGINE::propagate() + 0xb0 (TSM_EDS) 01a03321: EDS_ENGINE::propaga ...…

查看全部问答>

FTF印象_4

名字很有吸引力的一个报告(Designint the \"impossible\" Tablet),但不知道什么原因而取消未能进行, 可以通过资料看看是介绍什么的。…

查看全部问答>

LM4871/CSC8002低电压3W功率放大器IC应用电路原理图说明

LM4871/CSC8002 是一个BTL 桥连接的音频功率放大器.它能够在5V 电源电压下给一个3Ω 负载提供THD 小于10%、平均值为3W 输出功率。在关闭模式下电流的典型值为0.6uA. LM4871/CSC8002 是为提供大功率,高保真音频输出而专门设计的.它仅仅需要少量 ...…

查看全部问答>

【求助】MSP430F149 32k晶振不振

MSP430F149 32k晶振不振 开始的时候,上电发现32K和6M的晶振全不振,后来经过测量,发现/RST信号为0V,原来/RST信号被我弄错了。 后来修改的电路,/RST信号为高,6M的晶体工作正常,但是32K的没有工作。只输出一个有3V左右直流偏置、有不稳定0.5V ...…

查看全部问答>