cherish-390910 发表于 2015-1-14 15:26:17

怎样让程序一部分在flash运行,一部分在RAM内运行

大家好,我现在想把完整的程序下载到flash中,在上电后想让显示部分的程序在RAM内运行,其它的程序在flash中运行。
请问应该怎样操作,谢谢。。。急求。。。

dsjsjf 发表于 2015-1-14 17:29:15

为什么呢。。。

cherish-390910 发表于 2015-1-14 21:27:19

显示部分刷新的速度快,这样放在RAM里面执行,不会占用太多时间

动车组 发表于 2015-1-15 08:49:02

使用分散加载的办法。

发表于 2015-1-15 09:56:52

用下述方法可实现将flash中代码拷贝到RAM中执行.

#pragma arm section
RealView Compilation Tools for µVision Compiler Reference Guide Version 4.0

Home > Compiler-specific Features > Pragmas > #pragma arm section

4.6.3. #pragma arm section
This pragma specifies a section name to be used for subsequent functions or objects. This includes definitions of anonymous objects the compiler creates for initializations.

Note
You can use __attribute__((section(..))) for functions or variables as an alternative to #pragma arm section.

Syntax
#pragma arm section
Where:

section_sort_list
specifies an optional list of section names to be used for subsequent functions or objects. The syntax of section_sort_list is:

section_type[[=]"name"] [,section_type="name"]*

Valid section types are:

code

rodata

rwdata

zidata.


cherish-390910 发表于 2015-1-15 11:03:35

安 发表于 2015-1-15 09:56
用下述方法可实现将flash中代码拷贝到RAM中执行.

#pragma arm section


版主,你的意思是将我要再RAM中运行的函数直接 用#pragma arm section的方法定义就可以了?
是吗?

大秦正声 发表于 2015-1-15 11:24:15

建议全部在sram里!不用来回跳转!

moyanming2013 发表于 2015-1-15 12:12:13

如果有静态字符串、常量等直接放在flash运行,
分散加载试试吧。

发表于 2015-1-15 14:40:49

我那样的写法就是直接把代码从flash拷贝到RAM中执行。

weifei-373748 发表于 2015-1-15 14:45:18

有谁有STM32F030系列单片机的资料手册,能发下不?
页: [1] 2
查看完整版本: 怎样让程序一部分在flash运行,一部分在RAM内运行