历史上的今天
返回首页

历史上的今天

今天是:2025年04月15日(星期二)

正在发生

2018年04月15日 | STM32学习笔记之__attribute__ ((at())绝对定位分析

2018-04-15 来源:eefocus

学习STM32也会遇到这样的绝对定位的问题如下:

uint8_t   UART_RX_BUF[1024]   __attribute__ ((at(0X20001000)));   //就是将串口接收的数据定位到RAM中起始地址为0X20001000;


绝对定位要么定位到flash、要么定位到RAM,这里我们将定位在flash进行说明。


MDK如何实现将数据存储到FLASH指定地址?

      我们在烧录数据的时候,一般是从0x08000000开始按照顺序烧录到flash里面的,如何让数据能够定义到绝对地址如0800F000,就必须保证文件内数据也是存储在该地址,为了实现这个目的,MDK在生成文件时会填充0x00字段,从而确保能够将数据定义到



从实际情况也能验证这个原理,我以我的测试代码为例:

const u16 gFlashDefValue4[512] __attribute__((at(0x0800F000))) =  {0x1111, 0x1111, 0x1111, 0x0111, 0x0111,0x0111};


可以看到Code+ReadOnly= 15236+47228 = 62464
而gFlashDefValue4占绝对地址F000+512*2 = 62464

从生成的BIN文件也可以证实该观点:



如果你自己查看生成文件也可以发现中间填充了大量的0x00.但有一点要注意, FLASH定义绝对地址时要考虑ZI-Data的长度,否则可能会导致FLASH溢出。


推荐阅读

史海拾趣

芯朋微电子(chipown)公司的发展小趣事

芯朋微电子成立于2005年,初期由一群来自中国华晶电子集团的专家组成。公司创立之初,就专注于电源管理芯片的研发。经过数年的技术积累,2008年,芯朋微电子成功研发出“700V单片MOS集成AC-DC电源芯片”系列,这一突破打破了进口芯片的垄断,赢得了国内家电品牌厂商的认可,为公司在家电领域的快速发展奠定了基础。

Hi-Tech Resistors Pvt Ltd公司的发展小趣事

随着技术的不断进步和市场需求的增长,芯朋微电子逐步将产品线拓展至标准电源和工业驱动领域。2013年,公司推出工控功率芯片产品,这些芯片广泛应用于电机、基站、智能电表等行业领域,进一步扩大了公司的市场份额。

国芯佳品公司的发展小趣事

作为国内电源管理芯片的重要厂商,芯朋微电子一直致力于实现进口替代。公司不断投入研发,推出了一系列高效能、低功耗、品质稳定的电源管理集成电路产品,推动整机的能效提升和技术升级。这些努力使得芯朋微电子在国内电源管理芯片市场中的地位日益稳固。

CAMBION公司的发展小趣事

在技术创新的基础上,CAMBION公司积极拓展市场。公司通过与各大电子设备制造商建立合作关系,将其产品广泛应用于智能手机、平板电脑、笔记本电脑等领域。同时,CAMBION还注重品牌建设,通过参加国际电子展、发布技术白皮书等方式提升品牌知名度和影响力。这些努力使得CAMBION的产品在市场上获得了良好的口碑和认可。

AMI [American Megatrends Inc]公司的发展小趣事

随着电子行业的快速发展和变革,CAMBION公司也面临着诸多挑战。例如,新兴技术的崛起使得市场竞争日益激烈,消费者对电子产品性能的要求也不断提高。为了应对这些变革,CAMBION公司不断调整战略,加大研发投入,推出了一系列具有竞争力的新产品。同时,公司还加强与上下游企业的合作,共同推动产业链的升级和发展。

CTS公司的发展小趣事

在业务发展过程中,CTS公司还通过一系列收购来扩展其业务范围和增强竞争力。例如,CTS完成了对Alpha Ceramics的收购,这是一家为军事和航空航天市场提供传感器和换能器制造商的压电陶瓷材料供应商。这一收购使CTS能够进一步增强其在特定领域的专业能力,并为客户提供更全面的解决方案。

问答坊 | AI 解惑

请教关于PN结的问题

PN结的正向电流大致和两个因素有关系:电压和掺杂 电压一定时,掺杂越低,电流越大,而且主要取决于低掺杂一侧 那么,当掺杂越来越低,最终到不掺杂时,岂不是电流是最大的?这显然与事实矛盾 那么掺杂到底是多少时,可以得到最大的电流呢?…

查看全部问答>

dsp实现日历时钟与显示

摘要:本文简要介绍了日历时钟12887、DSP及液晶模块的功能特点,以及它们的硬件接口及软件设计方法,通过DSP控制,实现日历时钟在液晶上的实时显示。 关键词:日历时钟 DSP 接口  液晶显示 Abstract: This paper introduces traits o ...…

查看全部问答>

QUARTUS 软件编译产生的警告处理

软件编译产生的警告,各式各样,各位达人,怎样处理…

查看全部问答>

初学者咨询,用dsp做东西需要哪些装备啊?

各位高手指点一下,我需要用dsp做东西,介绍一下工作流程及其需要哪些软硬件,谢了啊…

查看全部问答>

IIC driver

最近在搞iic driver, 但对中断和iic 仲裁、读、写不是很清楚,有哪位仁兄能够帮帮我? 万分感谢!…

查看全部问答>

2440硬件定时器是否准确?

本人使用三星2440平台,wince5.0 使用中发现硬件定时器采集不准确,1秒钟采集256次,会出现次数少了,然后又会突然多了的情况。 无论是采用内部时钟还是外部时钟,(外部时钟情况好像好一点),都是不准。 我的操作是用硬件定时器计时,计时到0 ...…

查看全部问答>

[请问] 如何在VxWorks下开发IEEE 1394转PCI卡的驱动

转接卡用了三个芯片:TSB41AB3,M4LV -10VC -12VI和TSB12LV26,看着PCI和IEEE 1394的协议,就是不知道如何下手写这种转接卡的驱动,很郁闷,还请高手多多指点,谢谢!…

查看全部问答>

P/Invoke问题

小弟做酷派手机打电话程序在调用酷派的API老是说找不到函数入口点,请高手帮帮忙!! 函数原形:extend \"c\" DLLExport GSM_DialNormal( long appNum,VARIANT_BOOL *pbisRun) 我的调用方式: [DllImport(\"DialDll.dll\")] private extend static v ...…

查看全部问答>

做过TSP(telephony service provider)的朋友请进

如何把自己写的tsp加到系统中? 我调用lineAddProvider添加tsp的dll后,在线路设备里找不到我添加的设备,不知是何原因?…

查看全部问答>

stm32研讨会送大礼了,13万6仟元!!!

STM32全国10大城市巡回研讨会火热进行中。 为方便广大STM32用户,配合ST推广STM32,原价68元的mcuisp串口下载软件注册版,现开放免费注册。 注册方法: 1、参加研讨会,并保留EP968手持万用在线编程器宣传彩页一张。 2、在彩页上写上邮箱 ...…

查看全部问答>