#pragma mark 指令使用

博客主要围绕 #pragma mark 指令的使用展开,虽未给出具体内容,但可推测会涉及该指令在信息技术领域的应用等关键信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pragma mark 指令使用 - 光 - 一只半路出家的程序猿
 
pragma mark 指令使用 - 光 - 一只半路出家的程序猿
 
pragma mark 指令使用 - 光 - 一只半路出家的程序猿
 
pragma mark 指令使用 - 光 - 一只半路出家的程序猿
 
pragma mark 指令使用 - 光 - 一只半路出家的程序猿
 
pragma mark 指令使用 - 光 - 一只半路出家的程序猿
 
#include "main.h" #include "Solinteg_init.h" #include "bootloader\IAP.h" #define BOOT_MVer 0x0001 #define BOOT_SVer 0x0000//sector A and BC,all need store this information #define cBootKeyBegin 0x7DF6 #define cBootKeyEnd 0x63A3 //---------------------------------------------- #define KEYWORD_Begin ((Uint16 *)0x086000) #define KEYWORD_End ((Uint16 *)0x0AFFEC) #define cAppKeyEnd 0x9671 #define cAppKeyBegin 0xF37C //--------------------------------------------- //sector A and BC,all need store this information #pragma DATA_SECTION(uJumpDate , "UserJumpDate"); #pragma DATA_SECTION(uJumpTime , "UserJumpTime"); #pragma DATA_SECTION(uJumpVer , "UserJumpVer"); const unsigned char uJumpDate[] = __DATE__; const unsigned char uJumpTime[] = __TIME__; const unsigned long uJumpVer[3]= {__TI_COMPILER_VERSION__,BOOT_MVer,BOOT_SVer}; //--------------------------------------------- //define Flash status mark #pragma DATA_SECTION(BootFlashBeginKey , "Flash_Begin" ); #pragma DATA_SECTION(BootFlashEndKey , "Flash_End" ); const unsigned int BootFlashBeginKey[4] = {cBootKeyBegin,BOOT_MVer,BOOT_SVer,0x0001}; const unsigned int BootFlashEndKey[4] = {cBootKeyEnd,(__TI_COMPILER_VERSION__>>16),(__TI_COMPILER_VERSION__&0xFFFF),0x1000}; #pragma DATA_SECTION(uBootDate , "UserBootDate"); #pragma DATA_SECTION(uBootTime , "UserBootTime"); const unsigned char uBootDate[] = __DATE__; const unsigned char uBootTime[] = __TIME__; extern void sIapMainTask(void); extern void sInitSCIa(void); //-------------------------------------------------------------------- #pragma CODE_SECTION(BOOTLOADER_ENTRY, "BootLoaderEnter"); asm(" .ref _clearram"); void BOOTLOADER_ENTRY(void) { asm(" LB _clearram"); } #pragma CODE_SECTION(EntryChoose, "UserBootStart"); void EntryChoose() { if((*KEYWORD_Begin == cAppKeyBegin) && (*KEYWORD_End == cAppKeyEnd)) { asm(" LB 0x86004"); } else { BOOTLOADER_ENTRY(); } } //-------------------------------------------------------------------- void main(void) { sInitCpu(); sIapMainTask(); } 解释一下每段代码的作用与含义
最新发布
07-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值