keil调试环境下S3C2440s的分析报告.docx
- 文档编号:9014354
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:34
- 大小:21.85KB
keil调试环境下S3C2440s的分析报告.docx
《keil调试环境下S3C2440s的分析报告.docx》由会员分享,可在线阅读,更多相关《keil调试环境下S3C2440s的分析报告.docx(34页珍藏版)》请在冰点文库上搜索。
keil调试环境下S3C2440s的分析报告
;StandarddefinitionsofModebitsandInterrupt(I&F)flagsinPSRs;向量中断模式/非向量中断模式设置
;通过PSRs(程序状态寄存器)来设置
;系统工作模式设定
;CPSR是当系统前程序状态寄存器,SPSR是备份程序状态寄存器。
其中CPSR共用一个物理寄存器,而SPSR一共有5个物理寄存器
;CPSR寄存器设定:
CPSR[4..0]为M4-M0,通过它可以设定处理器的工作模式
Mode_USREQU0x10;用户模式
Mode_FIQEQU0x11;快速中断模式
Mode_IRQEQU0x12;外部中断模式
Mode_SVCEQU0x13;超级用户模式
Mode_ABTEQU0x17;数据访问终止模式
Mode_UNDEQU0x1B;未定义指令终止模式
Mode_SYSEQU0x1F;系统模式
I_BitEQU0x80;whenIbitisset,IRQisdisabled外部中断屏蔽位,置1,关闭中断,置0,打开中断
F_BitEQU0x40;whenFbitisset,FIQisdisabled快速中断屏蔽位,置1,关闭中断,置0,打开中断
;-----------------------StackandHeapDefinitions----------------------------
;//
;//
8>
;//
8>
;//
8>
;//
8>
;//
8>
;//
8>
;//
;栈配置,系统的栈空间设定
UND_Stack_SizeEQU0x00000000;未定义模式的栈大小
SVC_Stack_SizeEQU0x00000008;超级用户模式的栈大小
ABT_Stack_SizeEQU0x00000000;数据访问终止模式的栈大小
FIQ_Stack_SizeEQU0x00000000;快速中断模式的栈大小
IRQ_Stack_SizeEQU0x00000080;外部中断模式的栈大小
USR_Stack_SizeEQU0x00000400;用户模式的栈大小
ISR_Stack_SizeEQU(UND_Stack_Size+SVC_Stack_Size+ABT_Stack_Size+\
FIQ_Stack_Size+IRQ_Stack_Size);所有模式的堆栈相加得到总堆栈的大小
;ARM的汇编程序由段组成,段是相对独立的指令或数据单位,每个段由AREA伪指令定义,并定义段的属性。
----READWRITE(读写)、READONLY(只读)
AREASTACK,NOINIT,READWRITE,ALIGN=3;开辟一个堆栈段,段名字为STACK,定义为可读可写,
;不初始化内存单元,或将内存单元初始化为0
Stack_MemSPACEUSR_Stack_Size;
__initial_spSPACEISR_Stack_Size;汇编代码的地址标号
Stack_Top;堆栈段内容结束,在这里放个标号,用来获得堆栈顶部地址
;//
;//
;//
Heap_SizeEQU0x00000000;堆大小设置
AREAHEAP,NOINIT,READWRITE,ALIGN=3;开辟一个段,名字为HEAP可读可写,不初始化内存单元,或者初始化为0
__heap_base
Heap_MemSPACEHeap_Size
__heap_limit
;-----------------------MemoryDefinitions------------------------------------
;InternalMemoryBaseAddresses;片上SRAM的基地址,即内存基地址
IRAM_BASEEQU0x40000000
;-----------------------WatchdogTimerDefinitions----------------------------
WT_BASEEQU0x53000000;WatchdogTimerBaseAddress看门狗定时器基地址
WTCON_OFSEQU0x00;WatchdogTimerControlRegisterOffset看门狗控制寄存器偏移地址,相对于基址
WTDAT_OFSEQU0x04;WatchdogTimerDataRegisterOffset看门狗数据寄存器偏移地址,相对于基址
WTCNT_OFSEQU0x08;WatchdogTimerCountRegisterOffset看门狗计数寄存器偏移地址,相对于基址
;//
;//
;//
;//
;//
;//<0=>16<1=>32<2=>64<3=>128
;//
;//
;//
;//
;//
;//
;//WatchdogTimerSetup
WT_SETUPEQU1;看门狗设置
WTCON_ValEQU0x00000000;看门狗控制寄存器设置,关闭看门狗
WTDAT_ValEQU0x00008000;看门狗数据寄存器设置,初始值即为0x8000
;-----------------------ClockandPowerManagementDefinitions----------------
CLOCK_BASEEQU0x4C000000;ClockBaseAddress;时钟基地址
LOCKTIME_OFSEQU0x00;PLLLockTimeCountRegisterOffset;锁相环锁定时间计数寄存器偏移地址,相对于基址
MPLLCON_OFSEQU0x04;MPLLConfigurationRegisterOffset;MPLL配置寄存器偏移地址,相对于基址,主时钟源PLL
UPLLCON_OFSEQU0x08;UPLLConfigurationRegisterOffset;UPLL配置寄存器偏移地址,相对于基址,USB时钟源PLL
CLKCON_OFSEQU0x0C;ClockGeneratorControlRegOffset;时钟控制寄存器偏移地址,相对于基址
CLKSLOW_OFSEQU0x10;ClockSlowControlRegisterOffset;时钟减慢控制寄存器偏移地址,相对于基址
CLKDIVN_OFSEQU0x14;ClockDividerControlRegisterOffset;时钟分频器控制寄存器偏移地址,相对于基址
CAMDIVN_OFSEQU0x18;CameraClockDividerRegisterOffset;摄像头时钟分频器控制寄存器偏移地址,相对于基址,UPLL提供
;//
;//
;//
UPLLLockTimeCountValueforUCLK<0x0-0xFFFF>
;//
MPLLLockTimeCountValueforFCLK,HCLKandPCLK<0x0-0xFFFF>
;//
;//
;//MPLL=(2*m*Fin)/(p*2^s)
;//
MainDividermValue<9-256><#-8>
;//m=MDIV+8
;//
Pre-dividerpValue<3-64><#-2>
;//p=PDIV+2
;//
PostDividersValue<0-3>
;//s=SDIV
;//
;//
;//UPLL=(m*Fin)/(p*2^s)
;//
MainDividermValue<8-263><#-8>
;//m=MDIV+8
;//
Pre-dividerpValue<2-65><#-2>
;//p=PDIV+2
;//
PostDividersValue<0-3>
;//s=SDIV
;//
;//
;//
;//
;//
;//
;//
;//
;//
;//
;//
;//
;//
;//
;//
;//
;//
;//
;//
;//
;//
;//
;//
;//
UCLKON
;//
TurnoffPLL
;//
SlowModeEnable
;//
SlowClockDivider<0-7>
;//
;//
;//
UCLKSelect
;//<0=>UCLK=UPLLclock
;//<1=>UCLK=UPLLclock/2
;//
HCLKSelect
;//<0=>HCLK=FCLK
;//<1=>HCLK=FCLK/2
;//<2=>HCLK=FCLK/4ifHCLK4_HALF=0inCAMDIVN,elseHCLK=FCLK/8
;//<3=>HCLK=FCLK/3ifHCLK3_HALF=0inCAMDIVN,elseHCLK=FCLK/6
;//
PCLKSelect
;//<0=>PCLK=HCLK
;//<1=>PCLK=HCLK/2
;//
;//
;//
ARMCoreClockSelect
;//<0=>ARMcorerunsatFCLK
;//<1=>ARMcorerunsatHCLK
;//
HDIVNDivisionRateChangeBit
;//<0=>IfHDIVN=2inCLKDIVNthenHCLK=FCLK/4
;//<1=>IfHDIVN=2inCLKDIVNthenHCLK=FCLK/8
;//
HDIVNDivisionRateChangeBit
;//<0=>IfHDIVN=3inCLKDIVNthenHCLK=FCLK/3
;//<1=>IfHDIVN=3inCLKDIVNthenHCLK=FCLK/6
;//
;//<0=>CAMCLK=UPLL
;//<1=>CAMCLK=UPLL/CAMCLK_DIV
;//
CAMCLKDivider<0-15>
;//CameraClock=UPLL/(2*(CAMCLK_DIV+1))
;//DividerisusedonlyifCAMCLK_SEL=1
;//
;//ClockSetup
CLOCK_SETUPEQU0;时钟设置
LOCKTIME_ValEQU0x0FFF0FFF;PLL锁定时间计数器值
MPLLCON_ValEQU0x00043011;MPLL配置寄存器值
UPLLCON_ValEQU0x00038021;UPLL配置寄存器值
CLKCON_ValEQU0x001FFFF0;时钟配置寄存器值
CLKSLOW_ValEQU0x00000004;时钟减慢控制寄存器值
CLKDIVN_ValEQU0x0000000F;时钟分频控制寄存器值
CAMDIVN_ValEQU0x00000000;摄像头分频控制寄存器值
;-----------------------MemoryControllerDefinitions-------------------------
;存储控制器设置
MC_BASEEQU0x48000000;MemoryControllerBaseAddress;存储控制器基地址
BWSCON_OFSEQU0x00;BusWidthandWaitStatusCtrlOffset;总线宽度和等待控制寄存器
BANKCON0_OFSEQU0x04;Bank0ControlRegisterOffset;BANK0---BOOTROM控制寄存器设置
BANKCON1_OFSEQU0x08;Bank1ControlRegisterOffset;BANK1
BANKCON2_OFSEQU0x0C;Bank2ControlRegisterOffset;BANK2
BANKCON3_OFSEQU0x10;Bank3ControlRegisterOffset;BANK3
BANKCON4_OFSEQU0x14;Bank4ControlRegisterOffset;BANK4
BANKCON5_OFSEQU0x18;Bank5ControlRegisterOffset;BANK5
BANKCON6_OFSEQU0x1C;Bank6ControlRegisterOffset;BANK6
BANKCON7_OFSEQU0x20;Bank7ControlRegisterOffset;BANK7
REFRESH_OFSEQU0x24;SDRAMRefreshControlRegisterOffset;DRAM/SDRAM刷新控制
BANKSIZE_OFSEQU0x28;FlexibleBankSizeRegisterOffset;可调的bank大小寄存器
MRSRB6_OFSEQU0x2C;Bank6ModeRegisterOffset;模式控制寄存器bank6
MRSRB7_OFSEQU0x30;Bank7ModeRegisterOffset;模式控制寄存器bank7
;//
;//
;//
UseUB/LBforBank7
;//
EnableWaitStatusforBank7
;//
DataBusWidthforBank7
;//<0=>8-bit<1=>16-bit<2=>32-bit<3=>Reserved
;//
UseUB/LBforBank6
;//
EnableWaitStatusforBank6
;//
DataBusWidthforBank6
;//<0=>8-bit<1=>16-bit<2=>32-bit<3=>Reserved
;//
UseUB/LBforBank5
;//
EnableWaitStatusforBank5
;//
DataBusWidthforBank5
;//<0=>8-bit<1=>16-bit<2=>32-bit<3=>Reserved
;//
UseUB/LBforBank4
;//
EnableWaitStatusforBank4
;//
DataBusWidthforBank4
;//<0=>8-bit<1=>16-bit<2=>32-bit<3=>Reserved
;//
UseUB/LBforBank3
;//
EnableWaitStatusforBank3
;//
DataBusWidthforBank3
;//<0=>8-bit<1=>16-bit<2=>32-bit<3=>Reserved
;//
UseUB/LBforBank2
;//
EnableWaitStatusforBank2
;//
DataBusWidthforBank2
;//<0=>8-bit<1=>16-bit<2=>32-bit<3=>Reserved
;//
UseUB/LBforBank1
;//
EnableWaitStatusforBank1
;//
DataBusWidthforBank1
;//<0=>8-bit<1=>16-bit<2=>32-bit<3=>Reserved
;//
IndicateDataBusWidthforBank0
;//<1=>16-bit<2=>32-bit
;//
;//
;//
AddressSet-upTimebeforenGCS
;//<0=>0clocks<1=>1clocks<2=>2clocks<3=>4clocks
;//
ChipSelectionSet-upTimebeforenOE
;//<0=>0clocks<1=>1clocks<2=>2clocks<3=>4clocks
;//
AccessCycle
;//<0=>1clocks<1=>2clocks<2=>3clocks<3=>4clocks
;//<4=>6clocks<5=>8clocks<6=>10cloc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- keil 调试 环境 S3C2440s 分析 报告