共2条
1/1 1 跳转至页
51,code,xdata,arm 51中能通过code,xdata控制数据存储类型,arm里。。。。
问
ARM里如何实现呢?是用指针吗??
答 1:
ARM 是统一编址的,51是数据地址分离的这是两种硬件结构,所以软件就不同。
从本质是来讲ARM不区分数据和指令。
没有指令区数据区,这些是人为划分,为了程序的可读性。 答 2: 那我怎么才能控制存储区域呢?比如。。。比如,我想在外部ram里存储一个比较大的结构型数据,51里可以用xdata,
ARM应该怎样描述呢? 答 3: 数组或者结构看你用什么语言和操作系统了,ARM不像51,51太简单了。
ARM基本上是PC的概念了。
51通常用keil c.
ARM 用ads或者ARM-linux-gcc自己看看书吧。
关于这个问题是用数组或者结构就行了,你还是停留在51的概念上。 答 4: 这位大虾,请教一下,怎样能控制数组和结构。。。怎样能控制数组和结构存储的区域呢?比如我想让它存在外部ram。。。。 答 5: 这和ARM芯片的设计有关系有的ARM含内部的ram有的没有,他们的地址是不一样的,编译器可以自动分配,当然你可以通过编译参数进行控制。
ARM的机制远远比51复杂,不要总用51的概念到ARM上。
51是8088,ARM至少是算386,慢的ARM速度也在60个mips以上(lpc2104),
快的已经到500-600mips了。(pxa27x and s3c2440)
不是很简单,建议你看看ads和gcc的详细手册就明白了。如果使用keil c for ARM也应该是这种机制,我没有用过。keil c for ARM 好像没有盗版的,应该比较难以找到。看gcc吧。
看www.zlumcu.com的lpc2104吧,这是最简单的一个ARM实现。就是一个超级单片机. 答 6: 这位大虾,我不是不明白ARM和51的区别。。。我只想知道怎样编程控制数据存储区域。
我用2210有一段时间了,程序也运行了不少,现在就是想弄明白这个。。。。
哪位大虾能帮帮忙吗?感激不尽! 答 7: 常量编译的时候自动放到code区,变量放到ram.这是编译器自动做到的。
编译的参数中不是指定了ram,code区吗? 答 8: I 服了 U zhjn_m !!你把我给笑坏了,我不是笑你啊,我指的是别人说了这么多,最后你还执着的来一句:”我只想知道 。。。。。“
估计你还没把你的编译器搞明白呢!
你用的是什么 编译器啊!
玩ARM 必须得很清楚的知道变量,常量,堆栈,模式,一些调用规则,
不要管那些RAM是在片内还是片外,定义的变量就该在RAM中,看看你的编译器应该有如何将一个变量放在一个明确的地址上的说明,如IAR 中int a @"地址"
呵呵,不知道 有没有错!! 答 9: 谢了,二位。。。int a @"地址" 是我想要的,虽然不是这样写的。
非常感谢您的指点~~~
答 10: 问问题时说清楚,费劲。早说明白不就早结了吗。嗨。
从本质是来讲ARM不区分数据和指令。
没有指令区数据区,这些是人为划分,为了程序的可读性。 答 2: 那我怎么才能控制存储区域呢?比如。。。比如,我想在外部ram里存储一个比较大的结构型数据,51里可以用xdata,
ARM应该怎样描述呢? 答 3: 数组或者结构看你用什么语言和操作系统了,ARM不像51,51太简单了。
ARM基本上是PC的概念了。
51通常用keil c.
ARM 用ads或者ARM-linux-gcc自己看看书吧。
关于这个问题是用数组或者结构就行了,你还是停留在51的概念上。 答 4: 这位大虾,请教一下,怎样能控制数组和结构。。。怎样能控制数组和结构存储的区域呢?比如我想让它存在外部ram。。。。 答 5: 这和ARM芯片的设计有关系有的ARM含内部的ram有的没有,他们的地址是不一样的,编译器可以自动分配,当然你可以通过编译参数进行控制。
ARM的机制远远比51复杂,不要总用51的概念到ARM上。
51是8088,ARM至少是算386,慢的ARM速度也在60个mips以上(lpc2104),
快的已经到500-600mips了。(pxa27x and s3c2440)
不是很简单,建议你看看ads和gcc的详细手册就明白了。如果使用keil c for ARM也应该是这种机制,我没有用过。keil c for ARM 好像没有盗版的,应该比较难以找到。看gcc吧。
看www.zlumcu.com的lpc2104吧,这是最简单的一个ARM实现。就是一个超级单片机. 答 6: 这位大虾,我不是不明白ARM和51的区别。。。我只想知道怎样编程控制数据存储区域。
我用2210有一段时间了,程序也运行了不少,现在就是想弄明白这个。。。。
哪位大虾能帮帮忙吗?感激不尽! 答 7: 常量编译的时候自动放到code区,变量放到ram.这是编译器自动做到的。
编译的参数中不是指定了ram,code区吗? 答 8: I 服了 U zhjn_m !!你把我给笑坏了,我不是笑你啊,我指的是别人说了这么多,最后你还执着的来一句:”我只想知道 。。。。。“
估计你还没把你的编译器搞明白呢!
你用的是什么 编译器啊!
玩ARM 必须得很清楚的知道变量,常量,堆栈,模式,一些调用规则,
不要管那些RAM是在片内还是片外,定义的变量就该在RAM中,看看你的编译器应该有如何将一个变量放在一个明确的地址上的说明,如IAR 中int a @"地址"
呵呵,不知道 有没有错!! 答 9: 谢了,二位。。。int a @"地址" 是我想要的,虽然不是这样写的。
非常感谢您的指点~~~
答 10: 问问题时说清楚,费劲。早说明白不就早结了吗。嗨。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |