⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 embed_uish.s

📁 ADS1.2 samples
💻 S
字号:
;;  Copyright ARM Ltd 2002. All rights reserved.
;;
;;  This implementation of __user_initial_stackheap places the
;;  heap at the location of the symbol bottom_of_heap.  
;;  This symbol is placed by the scatter file.  
;;
;;  It assumes that the application mode stack has been placed
;;  in the reset handler.  
;;

        AREA   UISH, CODE, READONLY      ; name this block of code

    IF :DEF: LOCATIONS_IN_CODE
heap_base       DCD     0x14000
    ELSE
    
    IF :DEF: USE_SCATTER_SYMS
    
		IMPORT      ||Image$$HEAP$$ZI$$Base||
		IMPORT      ||Image$$HEAP$$ZI$$Limit||

heap_base	DCD     ||Image$$HEAP$$ZI$$Base||
heap_limit	DCD     ||Image$$HEAP$$ZI$$Limit||

    ELSE
    IMPORT  bottom_of_heap
heap_base       DCD     bottom_of_heap
    ENDIF
    ENDIF

        EXPORT __user_initial_stackheap

__user_initial_stackheap
    LDR   r0,heap_base
    MOV   pc,lr

        END
        
;; The following is the equivalent implementation of the above in C

;;
;; extern unsigned int bottom_of_heap;    //defined in heap.s
;;
;; __value_in_regs struct __initial_stackheap __user_initial_stackheap(
;;         unsigned R0, unsigned SP, unsigned R2, unsigned SL)
;; {
;;     struct __initial_stackheap config;
;;
;;     config.heap_base = (unsigned int)&bottom_of_heap; // defined in heap.s
;;                                                       // placed by scatterfile
;;     config.stack_base = SP;   // inherit SP from the execution environment
;;
;;     return config;
;; }
;;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -