当前位置:
文档之家› 实验2C语言程序设计及LED跑马灯实验
实验2C语言程序设计及LED跑马灯实验
; DCD (0+(B1_BWSCON<<4) + (B2_BWSCON<<8) + (B3_BWSCON<<12) +
(B4_BWSCON<<16) + (B5_BWSCON<<20) + (B6_BWSCON<<24) + (B7_BWSCON<<28))
本实验箱有效的存储器设置参数
DW16
EQU (0x1)
EQU (0x2)
;单独定义BANK1~7的数据宽度BWSCON寄存器参数
B1_BWSCON
EQU (DW16)
;=
B2_BWSCON
EQU (DW16)
;=
B3_BWSCON
EQU (DW16)
;=
B4_BWSCON
EQU (DW32)
;=
B5_BWSCON
EQU (DW16)
;=
B6_BWSCON
EQU (DW32)
;=
B7_BWSCON
EQU (DW32)
;=
(0+ (B1_BWSCON<<4)+ (B2_BWSCON<<8)+ (B3_BWSCON<<12)+ (B4_BWSCON<<16)+ (B5_BWSCON<<20)+ (B6_BWSCON<<24)+ (B7_BWSCON<<28))
;单独定义BANKCON0寄存器各参数
B0_Tacs EQU B0_Tcos EQU B0_Tacc EQU B0_Tcoh EQU B0_Tah EQU B0_Tacp EQU B0_PMC EQU ;
0x3 ;0clk 0x3 ;0clk 0x7 ;14clk 0x3 ;0clk 0x3 ;0clk 0x1 0x0 ;normal
DCD (0+(B1_BWSCON<<4)+(B2_BWSCON<<8)+(B3_BWSCON<<12)+ (B4_BWSCON<<16)+(B5_BWSCON<<20)+(B6_BWSCON<<24)+ (B7_BWSCON<<28))
本实验箱有效的存储器设置参数
DW16
EQU (0x1)
DW32
待设置的存储器参数表达方式
1、待设置的BWSCON寄存器参数表达
DW16 DW32 ; B1_BWSCON B2_BWSCON B3_BWSCON B4_BWSCON B5_BWSCON B6_BWSCON B7_BWSCON
EQU EQU
(0x1) (0x2)
EQU (DW16) EQU (DW16) EQU (DW16) EQU (DW32) EQU (DW16) EQU (DW32) EQU (DW32)
并通过调试工具查看内存值。
嵌入式裸机系统实验说明
一个嵌入式裸机系统开机时必须首先要对程序中用到的硬件功能 单元进行初始化程序设置,否则相关功能单元将处于一种未知工 作状态,甚至无法正常工作状态。
无论何种应用,最基本的初始化功能单元是存储器控制器单元和 时钟产生功能单元。
S3C2440存储器控制功能单元针对8个存储区BANK共有13个初始 化设置寄存器。地址位于特殊功能寄存器区起始位置。
实验目的
➢ 进一步熟悉ADS开发环境,并能进行相关设置 ➢ 熟悉裸机系统下C语言运行环境的设置方法。 ➢ 掌握ADS下C语言程序的编辑、编译、链接及下载方法 ➢ 掌握ADS下C程序代码的调试及内存值的检查方法。
实验内容
1、编写裸机系统最基本的初始化汇编语言程序。 2、编写为C语言程序建立运行环境的汇编语言程序。 3、编写C语言程序,实现2440裸机内运行1到100的加法 ,
BWSCON寄存器
B1_BWSCON左移4位 B2_BWSCON左移8位 B3_BWSCON左移12位 B4_BWSCON左移16位 B5_BWSCON左移20位 B6_BWSCON左移24位 B7_BWSCON左移28位
待设置的存储器参数表达方式
2、待设置的BANKCON0 ~ BANKCON5 寄存器参数表达
S3C2440时钟产生功能单元在常规工作方式下,针对Fclk、Hclk 、Pclk、Uclk时钟的产生,有4个基本寄存器需要初始化设置。
一、嵌入式裸机系统的存储器初始化设置
13个存储器控制功能单元初始化设置寄存器:地址位于特殊功能寄存器 区起始位置。
本实验箱仅BANK0 配置了32MB NOR FLASH,BANK6配置了64M =0x02: 选择BANK6为32-bit(64MB SDRAM)
B7_BWSCON
EQU (DW32)
; =0x02: N.C.(无用)
D31
D0
BWSCON
寄存器
B4_BWSCON左移16位
; 将上面单独定义的BANK1~BANK7参数整合到BWSCON寄存器内对应位域。
BANKCON0寄存器位定义
;将以上单独表达的各参数整合为32位字数据,以备写入BANKCON0寄存器之用。
DCD ((B0_Tacs<<13) + (B0_Tcos<<11) + (B0_Tacc<<8) + (B0_Tcoh<<6) + (B0_Tah<<4) + (B0_Tacp<<2) + (B0_PMC))
DW32
EQU (0x2)
B1_BWSCON=0x1 B4_BWSCON=0x2
;单独定义BANK1~7的数据宽度BWSCON寄存器参数
B1_BWSCON
EQU (DW16)
; =0x01: 选择BANK1的数据宽度为16-bit
B2_BWSCON
EQU (DW16)
; =0x01: 选择BANK2的数据宽度为16-bit
B3_BWSCON
EQU (DW16)
; =0x01: 选择BANK3的数据宽度为16-bit
B4_BWSCON
EQU (DW32)
; =0x02: 选择BANK4的数据宽度为32-bit
B5_BWSCON
EQU (DW16)
; =0x01: A400/A410 Ext, 16-bit
B6_BWSCON
; AMD flash(AM29LV160DB), 16-bit, for nCS1 ; PCMCIA(PD6710), 16-bit ; Ethernet(CS8900), 16-bit ; Intel Strata(28F128), 32-bit, for nCS4 ; A400/A410 Ext, 16-bit ; SDRAM(K4S561632C) 32MBx2, 32-bit ; N.C.