#include <stdint.h>

// The type of a pointer into the init table.
typedef void const * table_ptr_t; // The type of an initialization routine. It takes a pointer to the start of
// its entry (after the function pointer) in the init table and returns a
// pointer to after its entry.
typedef table_ptr_t init_fun_t( table_ptr_t ); typedef struct
{
int32_t mOff;
} FAddr; __no_init uint32_t __iar_SB @ r9; uint32_t const * __iar_zero_init3( uint32_t const * p )
{
uint32_t size;
while ( ( size = *p++ ) != )
{
uint32_t d = *p++;
uint32_t * dest; if ( d & )
{
d -= ;
d += __iar_SB;
} dest = (uint32_t*) d; do
{
*dest++ = ;
size -= ;
}while ( size != );
}
return p;
} uint32_t const * __iar_copy_init3( uint32_t const * p )
{
uint32_t size;
while ( ( size = *p++ ) != )
{
uint32_t const * src;
uint32_t d;
uint32_t * dest; src = (uint32_t *) ( (char const *) p + *(int32_t *) p );
p++; d = *p++; if ( d & )
{
d -= ;
d += __iar_SB;
} dest = (uint32_t *) d; do
{
*dest++ = *src++;
size -= ;
}while ( size != );
}
return p;
} #pragma section = "Region$$Table"
void __iar_data_init3( void )
{
FAddr const * pi = __section_begin("Region$$Table");
table_ptr_t pe = __section_end ("Region$$Table");
while ( pi != pe )
{
init_fun_t * fun = (init_fun_t *) ( (uint32_t) pi + pi->mOff );
++pi;
pi = fun( pi );
}
}
Mode_USR  EQU     0x10
Mode_FIQ EQU 0x11
Mode_IRQ EQU 0x12
Mode_SVC EQU 0x13
Mode_ABT EQU 0x17
Mode_UND EQU 0x1B
Mode_SYS EQU 0x1F ; available on ARM Arch 4 and later I_Bit EQU 0x80 ; when I bit is set, IRQ is disabled
F_Bit EQU 0x40 ; when F bit is set, FIQ is disabled __iar_program_start
MSR CPSR_c, #Mode_SYS|F_Bit|I_Bit
ldr sp,=SFE(CSTACK) ; End of CSTACK(user)
BL __iar_data_init3
BL main
B .

IAR EWARM __iar_program_start, __iar_data_init3, __iar_copy_init3, __iar_zero_init3的更多相关文章

  1. IAR EWARM 字体设置

    如果只想简单的设置,可进行如下设置 Tools->IDE Options->Editor->Colors and Fonts->Editor Font->Font 但是这 ...

  2. 安装IAR ewarm

    一  安装准备 (ST方案) 1 嵌入式集成开发环境IAR ewarm 5.41 2 J-Link4.20 3 emberznet-4.3.0协议栈安装包 option1:tools - stm32软 ...

  3. 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.5)- 串行NOR Flash下载算法(IAR EWARM篇)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是IAR开发环境下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行NOR Flash XI ...

  4. IAR EWARM Checksum Technical Note

    IELFTOOL Checksum - Basic actions EW targets: ARM, RH850, RX, SH, STM8 EW component: General issues ...

  5. IAR EWARM Example Download List

    https://srv.iar.com/ExamplesOnDemand/versions.xml http://netstorage.iar.com/SuppDB/Public/EXAMPLES/0 ...

  6. IAR EWARM Argument variables $PROJ_DIR$ $TOOLKIT_DIR$

    在IAR中的help中输入argument variables时会找到这样的一个列表: Argument variables On many of the pages in the Options d ...

  7. IAR EWARM PRINTF/SCANF FORMATTER

    The linker automatically chooses an appropriate formatter for printf- and scanf-related function bas ...

  8. IAR EWARM : Debugging with CMSIS-DAP

  9. IAR EWARM 关闭纯汇编函数的警告的方法

    /关闭警告 #pragma diag_suppress=Pe940 uint8_t GetMyData(void) { asm(“MOV R0, #0x550F”); } //恢复警告 #pragma ...

随机推荐

  1. hadoop - hdfs 基础操作

    hdfs --help # 所有参数 hdfs dfs -help # 运行文件系统命令在Hadoop文件系统 hdfs dfs -ls /logs # 查看 hdfs dfs -ls /user/ ...

  2. Java基础打包以及批处理命令运行

    1.前期准备

  3. 深入理解C语言的函数调用过程 【转】

    转自:http://blog.chinaunix.net/uid-25909619-id-4240084.html 原文地址:深入理解C语言的函数调用过程 作者:wjlkoorey258     本文 ...

  4. Android Studio引用第三方jar包(例如:使用LitePal)

    如何使用LitePal的教程网上很多,不过对于新手,这些教程中遗漏了将第三方jar包拷贝到app->libs路径下后,还需要add as library. 下载LitePal 这时操作步骤如下: ...

  5. 安装Python3.6.4后,在使用numpy时报错RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88

    原因: 因为安装numpy用的是 pip来安装的 pypi官方对于numpy的库已经升级了,但是升级后的版本与其他的库不匹配 所以报错 解决: 先把已经安装的numpy卸载: pip uninstal ...

  6. 抓包获取百度音乐API

    这次抓包是获取手机APP中的数据包,共分为三个部分: 1.win7建立wifi 2.PC架设代理服务器 手机设置代理 3.抓包分析 一.win7建立wifi 在win7下搭建wifi非常简单,网上的教 ...

  7. css中width和padding-top实现正方形

    .div{ width: 100%; height: 0; padding-top: 100% } 这个时候,padding-top的值与width相等,所以可以让div宽高一样,值为width的值

  8. Deep learnin简介

    从今天开始,准备入DL的大坑,希望自己能坚持下来. 网上有不少介绍: 深度学习的历             史:http://www.goldencui.org/2014/12/02/%E7%AE%8 ...

  9. 字符串(string.cpp)

    字符串(string.cpp) 神TM字符串DP 题目描述: 小林和亮亮正在做一个游戏.小林随意的写出一个字符串,字符串仅由大写字母组成,然后指定一个非负整数m,亮亮可以进行至多m次操作.每次操作为交 ...

  10. SOA 设计的 9 大原则

    面向服务的架构 (SOA) 设计要尽可能地简单.在设计一个 SOA 服务的时候要谨记这 9 大设计原则: 1. 标准服务契约 服务要遵循一个服务描述. 2. 松耦合 服务之间的依赖最小化. 3. 服务 ...