历史上的今天
返回首页

历史上的今天

今天是:2025年06月27日(星期五)

正在发生

2020年06月27日 | led裸机程序分析二(头文件option.ini)

2020-06-27 来源:eefocus

在mini2440的myled裸机程序中头文件 中,option.ini这个头文件定义了芯片的相关配置

(对存储器相关寄存器值的配置,这里对寄存器的相关配置最终会被init.s调用来初始化CPU)

;===========================================

; NAME: OPTION.A

; DESC: Configuration options for .S files

; HISTORY:

; 02.28.2002: ver 0.0

; 03.11.2003: ver 0.0 attached for 2440.

; jan E, 2004: ver0.03  modified for 2440A01.

;===========================================

;Start address of each stacks,  

;定义每个栈的起始地址


_STACK_BASEADDRESS EQU 0x33ff8000

_MMUTT_STARTADDRESS EQU 0x33ff8000

_ISR_STARTADDRESS EQU 0x33ffff00


GBLL USE_MAIN   ;声明一个全局的逻辑变量USE_MAIN 

;USE_MAIN SETL {TRUE}  ;给变量USE_MAIN赋值{FALSE}

USE_MAIN SETL {FALSE}


GBLL PLL_ON_START  ;声明一个全局的逻辑变量PLL_ON_START

PLL_ON_START SETL {TRUE}  ;给变量PLL_ON_START赋值{TRUE}



GBLL ENDIAN_CHANGE  ;声明一个全局的逻辑变量ENDIAN_CHANGE

ENDIAN_CHANGE SETL {FALSE}  ;给变量ENDIAN_CHANGE赋值{FALSE}


GBLA ENTRY_BUS_WIDTH ;声明一个全局的算数变量ENTRY_BUS_WIDTH

ENTRY_BUS_WIDTH SETA 16  ;给变量ENTRY_BUS_WIDTH赋值16



;BUSWIDTH = 16,32

;声明一个全局的算数变量 BUSWIDTH

GBLA    BUSWIDTH ;max. bus width for the GPIO configuration 【为GPIO配置总线宽度】

BUSWIDTH SETA    32   ;给变量BUSWIDTH赋值32


GBLA UCLK ;声明一个全局的算数变量UCLK

UCLK SETA 48000000 ;给变量UCLK赋值48000000


GBLA XTAL_SEL  ;声明当前晶振大小

GBLA FCLK   ;声明一个时钟频率

GBLA CPU_SEL  ;声明一个CPU型号




;(1) Select CPU 【选择你的CPU型号】

;CPU_SEL SETA 32440000 ; 32440000:2440X.  型号S3C2440X

CPU_SEL SETA 32440001 ; 32440001:2440A  型号S3C2440A


;(2) Select XTaL

XTAL_SEL SETA 12000000    ;设置当前晶振为12M

;XTAL_SEL SETA 16934400    ;设置当前晶振为16.9344M


;(3) Select FCLK

FCLK SETA 304000000  ;设置目标时钟频率为304000000

;FCLK SETA 296352000  ;设置目标时钟频率为296352000


;[下面会根据你选择的CPU、晶振、时钟频率,来自动化(编译器来完成)配置相关寄存器]

;--------------------------------------------------------------------------------------

;(4) Select Clock Division (Fclk:Hclk:Pclk)【选择时钟分频比】

CLKDIV_VAL EQU 7 ;  0=1:1:1, 1=1:1:1/2, 2=1:1/2:1/2, 3=1:1/2:1/4, 4=1:1/4:1/4, 5=1:1/4:1/8, 6=1:1/3:1/3, 7=1:1/3:1/6

;根据晶振,来配置参数(PLLCON)


 [ XTAL_SEL = 12000000

 ;当晶振为12000000时,参数设置如下

[ FCLK = 271500000

;根据要设置的时钟频率FCLK,来配置相应的MDIV、PDIV、SDIV

M_MDIV EQU 173 ;Fin=12.0MHz Fout=271.5MHz

M_PDIV EQU 2

[ CPU_SEL = 32440001

M_SDIV EQU 2 ; 2440A

    |

M_SDIV EQU 1 ; 2440X

    ]

]

;根据要设置的时钟频率FCLK,来配置相应的MDIV、PDIV、SDIV

[ FCLK = 304000000

M_MDIV EQU 68 ;Fin=12.0MHz Fout=304.8MHz

M_PDIV EQU 1

[ CPU_SEL = 32440001

M_SDIV EQU 1 ; 2440A

|

M_SDIV EQU 0 ; 2440X

]

]


;根据要设置的时钟频率FCLK,来配置相应的MDIV、PDIV、SDIV

[ UCLK = 48000000

U_MDIV EQU 56 ;Fin=12.0MHz Fout=48MHz

U_PDIV EQU 2

U_SDIV EQU 2

]

;根据要设置的时钟频率FCLK,来配置相应的MDIV、PDIV、SDIV

[ UCLK = 96000000

U_MDIV EQU 56 ;Fin=12.0MHz Fout=96MHz

U_PDIV EQU 2

U_SDIV EQU 1


]


  | ; else if XTAL_SEL = 16.9344Mhz

 ;当晶振为16.9344Mhz时,参数设置如下

[ FCLK = 266716800

M_MDIV EQU 118 ;Fin=16.9344MHz

M_PDIV EQU 2

[ CPU_SEL = 32440001

M_SDIV EQU 2 ; 2440A

|

M_SDIV EQU 1 ; 2440X

]

]

[ FCLK = 296352000

M_MDIV EQU 97 ;Fin=16.9344MHz

M_PDIV EQU 1

[ CPU_SEL = 32440001

M_SDIV EQU 2 ; 2440A

|

M_SDIV EQU 1 ; 2440X

]

]

[ FCLK = 541900800

M_MDIV EQU 120 ;Fin=16.9344MHz

M_PDIV EQU 2

[ CPU_SEL = 32440001

M_SDIV EQU 1 ; 2440A

|

M_SDIV EQU 0 ; 2440X

]

]

[ UCLK = 48000000

U_MDIV EQU 60 ;Fin=16.9344MHz Fout=48MHz

U_PDIV EQU 4

U_SDIV EQU 2

]

[ UCLK = 96000000

U_MDIV EQU 60 ;Fin=16.9344MHz Fout=96MHz

U_PDIV EQU 4

U_SDIV EQU 1

]

   ] ; end of if XTAL_SEL = 12000000.

  

END

推荐阅读

史海拾趣

eLED.com Corp公司的发展小趣事

面对日益激烈的市场竞争和不断变化的市场需求,eLED.com Corp始终坚持以创新驱动为发展战略。公司不断加大研发投入,积极引进新技术、新材料和新工艺,推动产品的升级换代。同时,eLED.com Corp还积极探索新的应用领域和市场空间,如智能家居、智慧城市等领域。通过不断创新和产业升级,eLED.com Corp成功实现了从传统制造业向高新技术产业的转型。

Chip Technologies Inc公司的发展小趣事

Chip Technologies Inc自成立以来,一直致力于芯片技术的研发与创新。在某一年,公司成功研发出一款具有划时代意义的芯片,这款芯片在功耗、性能及集成度等方面均达到了行业领先水平。这一技术突破迅速赢得了市场的认可,公司订单量激增,业绩大幅提升。随着技术的不断迭代与完善,Chip Technologies Inc逐渐在电子行业树立起了技术领先的形象,并成功吸引了众多投资者的关注。

Avel Lindberg公司的发展小趣事

Chip Technologies Inc自成立以来,一直致力于芯片技术的研发与创新。在某一年,公司成功研发出一款具有划时代意义的芯片,这款芯片在功耗、性能及集成度等方面均达到了行业领先水平。这一技术突破迅速赢得了市场的认可,公司订单量激增,业绩大幅提升。随着技术的不断迭代与完善,Chip Technologies Inc逐渐在电子行业树立起了技术领先的形象,并成功吸引了众多投资者的关注。

德尔创(Dersonic)公司的发展小趣事

在品质和品牌建设的基础上,德尔创开始积极拓展市场。公司首先在国内市场进行了深入布局,通过优化销售网络和提供优质的售后服务,逐渐赢得了客户的信任和支持。同时,德尔创也积极寻求国际合作机会,与多家国际知名企业建立了长期稳定的合作关系。这些合作不仅为公司带来了更多的订单和市场份额,还促进了德尔创在技术和管理方面的进一步提升。

D+H Mechatronic AG公司的发展小趣事

在全球环保意识日益增强的背景下,D+H Mechatronic AG积极响应绿色制造的号召。公司投入大量资金和资源研发出了一系列节能环保的机械设备,这些设备在生产过程中能够显著降低能耗和排放。同时,公司还积极参与各种环保活动,倡导绿色生产理念。这些举措不仅使公司赢得了客户的信赖和支持,也为其在行业内树立了良好的环保形象。

CT [ Central Technologies ]公司的发展小趣事

经过数年的努力,CT公司终于研发出了一款具有颠覆性的新型芯片技术。这款芯片在性能上大幅超越了当时的同类产品,引起了市场的广泛关注。多家知名企业纷纷与CT公司展开合作,将这款芯片应用于他们的产品中。随着合作伙伴的增加和市场份额的扩大,CT公司的知名度逐渐提升,成为了电子行业的一匹黑马。

问答坊 | AI 解惑

有人有过状态机调试软件吗?

状态机调试软件Debussy 哪个达人用过?好用吗?有资料能贡献吗?…

查看全部问答>

MSP430中断

#include unsigned char t=0; unsigned int Time; void Clock_Init(void) {   unsigned char i;   BCSCTL1&=~XT2OFF; //打开XT震荡器   BCSCTL2|=SELM1+SELS+DIVS_3;//mclk=smlk=1MHz   do &nbs ...…

查看全部问答>

在车载GPS设备上开发自己的应用程序

由于车载GPS设备有较大的触摸屏,我想选一款市场上的车载GPS设备,在它上面开发自己的应用程序。我需要在车载GPS上做一个GUI,PDA与我自己的另一个模块通过串口相连,程序需要是实现的就是接收模块发来的消息在GPS屏幕上的GUI上显示,GPS根据用户在 ...…

查看全部问答>

程序员第二大学

深圳程序员QQ群联盟成立两年多拥有三十个以上的QQ群,人数达二千多人,现在群雄云集,其中深程高级群更是高手云集,现有两名女成员都是计算机硕士两名.很多都是大公司的技术主干,现推介如下QQ群,如有兴趣速速加入:深程高级群:17538442c++:15195967 .NET ...…

查看全部问答>

nrf24l01 多通道接收问题

接收只能使用通道0和1,EN_RXADDR配置为多通道(>0x03)则无法接受,纠结了很久,求高手指点啊! 部分配置程序: WriteBuf(W_REGISTER+RX_ADDR_P0, RX_ADDRESS_P0, RX_ADDR_WIDTH);//写接收通道P0地址 WriteBuf(W_REGISTER+RX_ADDR_P1, RX ...…

查看全部问答>

关于51 单片机的扫描问题、

#include<reg52.h> #define uint unsigned int#define uchar unsigned char uchar code shumaguan[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};uchar code table[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; uchar key = ...…

查看全部问答>

如何利用KPCI-3130系列模拟输出卡进行系统测试?

概述 当前,电子界正在逐渐脱离传统的测试和测量哲学,而转向更加混合的方法。几年前,如果要求生成或测量极其精确的数据点,除了台式仪器,几乎没有可用的解决方案。不过,随着电子元器件的持续进展,现在已经可以制作高精密电压源和高分辨率A/ ...…

查看全部问答>

把程序下载到富士通开发版出现 Failed to load flash loader错误

今天用了一上午时间,才把我的64位WIN7系统装好MLINK驱动。REBUILD ALL 之后,下载程序,总是出现如下错误提示:Wed Jun 13, 2012 13:20:21: Loaded macro file: D:\\IAR Systems\\Embedded Workbench 6.0 Evaluation\\arm\\config\\flas ...…

查看全部问答>

关于按键软件消抖中的释放抖动

关于按键软件消抖中的释放抖动 按键释放的时候也是有抖动的,大家一般是怎么考虑的?特别是单独使用IO中断的按键。为什么? [ 本帖最后由 wangfuchong 于 2012-10-31 10:48 编辑 ]…

查看全部问答>

LM3S9B90 UDP通信为什么总是进入死循环呢,是按照历程上面来改的。麻烦大师指导指...

#include \"inc/hw_ints.h\" #include \"inc/hw_memmap.h\" #include \"inc/hw_nvic.h\" #include \"inc/hw_types.h\" #include \"driverlib/ethernet.h\" #include \"driverlib/flash.h\" #include \"driverlib/gpio.h\" #include \"driver ...…

查看全部问答>