3.3.2. 创建堆

可通过定义符号 __heap_base__heap_limit 来分别指定堆的开头和结尾。 完成后,您可以按通常方式使用堆函数。

Note

__heap_limit 必须指向堆区中最后一个字节后面的字节。

Example 3.6 说明了如何使用汇编语言来设置堆指针。

Example 3.6.  汇编语言


    EXPORT __heap_base

__heap_base EQU 0x400000        ; equal to the start of the heap



    EXPORT __heap_limit

__heap_limit EQU 0x800000       ; equal to the end of the heap

Example 3.7 说明了如何使用 C 中的嵌入式汇编程序来设置堆指针。

Example 3.7.  C 中的嵌入式汇编程序


__asm void dummy_function(void)

{

    EXPORT __heap_base

__heap_base EQU 0x400000        ; equal to the start of the heap



    EXPORT __heap_limit

__heap_limit EQU 0x800000       ; equal to the end of the heap

}

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0349AC
Non-Confidential