历史上的今天
返回首页

历史上的今天

今天是:2024年10月30日(星期三)

正在发生

2019年10月30日 | ARM 2440裸奔实现电子时钟

2019-10-30 来源:51hei

//===================================================================

// File Name : 2440lib.c

// Function  : S3C2410 PLL,Uart, LED, Port Init

// Date      : March 20, 2002

// Version   : 0.0

// History

//   0.0 : Programming start (February 20,2002) -> SOP

//===================================================================


#include "def.h"

#include "option.h"

#include "2440addr.h"

#include "2440lib.h"

#include "2440slib.h" 


#include

#include

#include

#include

#include


extern char Image$RW$Limit[];

void *mallocPt=Image$RW$Limit;


//***************************[ SYSTEM ]***************************************************

void Delay(int time)

{

        U32 val = (PCLK>>3)/1000-1;

        

        rTCFG0 &= ~(0xff<<8);

        rTCFG0 |= 3<<8;                        //prescaler = 3+1

        rTCFG1 &= ~(0xf<<12);

        rTCFG1 |= 0<<12;                //mux = 1/2


        rTCNTB3 = val;

        rTCMPB3 = val>>1;                // 50%

        rTCON &= ~(0xf<<16);

        rTCON |= 0xb<<16;                //interval, inv-off, update TCNTB3&TCMPB3, start timer 3

        rTCON &= ~(2<<16);                //clear manual update bit

        while(time--) {

                while(rTCNTO3>=val>>1);

                while(rTCNTO3>1);

        };

}


//***************************[ PORTS ]****************************************************

void Port_Init0(void)

{

    //CAUTION:Follow the configuration order for setting the ports. 

    // 1) setting value(GPnDAT) 

    // 2) setting control register  (GPnCON)

    // 3) configure pull-up resistor(GPnUP)  


    //32bit data bus configuration  

    //*** PORT A GROUP

    //Ports  : GPA22 GPA21  GPA20 GPA19 GPA18 GPA17 GPA16 GPA15 GPA14 GPA13 GPA12  

    //Signal : nFCE nRSTOUT nFRE   nFWE  ALE   CLE  nGCS5 nGCS4 nGCS3 nGCS2 nGCS1 

    //Binary :  1     1      1  , 1   1   1    1   ,  1     1     1     1

    //Ports  : GPA11   GPA10  GPA9   GPA8   GPA7   GPA6   GPA5   GPA4   GPA3   GPA2   GPA1  GPA0

    //Signal : ADDR26 ADDR25 ADDR24 ADDR23 ADDR22 ADDR21 ADDR20 ADDR19 ADDR18 ADDR17 ADDR16 ADDR0 

    //Binary :  1       1      1      1   , 1       1      1      1   ,  1       1     1      1         

    rGPACON = 0x7fffff; 


    //**** PORT B GROUP

    //Ports  : GPB10    GPB9    GPB8    GPB7    GPB6     GPB5    GPB4   GPB3   GPB2     GPB1      GPB0

    //Signal : nXDREQ0 nXDACK0 nXDREQ1 nXDACK1 nSS_KBD nDIS_OFF L3CLOCK L3DATA L3MODE nIrDATXDEN Keyboard

    //Setting: INPUT  OUTPUT   INPUT  OUTPUT   INPUT   OUTPUT   OUTPUT OUTPUT OUTPUT   OUTPUT    OUTPUT 

    //Binary :   00  ,  01       00  ,   01      00   ,  01       01  ,   01     01   ,  01        01  

    rGPBCON = 0x044555;

    rGPBUP  = 0x7ff;     // The pull up function is disabled GPB[10:0]


    //*** PORT C GROUP for youlong

    //Ports  : GPC15 GPC14 GPC13 GPC12 GPC11 GPC10 GPC9 GPC8  GPC7   GPC6   GPC5 GPC4 GPC3  GPC2  GPC1 GPC0

    //Signal : VD7   VD6   VD5   VD4   VD3   VD2   VD1  VD0 LCDVF2 LCDVF1 LCDVF0 VM VFRAME VLINE VCLK LEND  

    //Binary :  10   10  , 10    10  , 10    10  , 10   10  , 10     10  ,  10   10 , 10     10 , 10   10

    rGPCCON = 0xaaaaaaaa;       

    rGPCUP  = 0xffff;     // The pull up function is disabled GPC[15:0] 

    


    //*** PORT D GROUP

    //Ports  : GPD15 GPD14 GPD13 GPD12 GPD11 GPD10 GPD9 GPD8 GPD7 GPD6 GPD5 GPD4 GPD3 GPD2 GPD1 GPD0

    //Signal : VD23  VD22  VD21  VD20  VD19  VD18  VD17 VD16 VD15 VD14 VD13 VD12 VD11 VD10 VD9  VD8

    //Binary : 10    10  , 10    10  , 10    10  , 10   10 , 10   10 , 10   10 , 10   10 ,10   10

    rGPDCON = 0xaaaaaaaa;       

    rGPDUP  = 0xffff;     // The pull up function is disabled GPD[15:0]


    //*** PORT E GROUP

    //Ports  : GPE15  GPE14 GPE13   GPE12   GPE11   GPE10   GPE9    GPE8     GPE7  GPE6  GPE5   GPE4  

    //Signal : IICSDA IICSCL SPICLK SPIMOSI SPIMISO SDDATA3 SDDATA2 SDDATA1 SDDATA0 SDCMD SDCLK IN 

    //Binary :  10     10  ,  10      10  ,  10      10   ,  10      10   ,   10    10  , 10     00  ,     

    //-------------------------------------------------------------------------------------------------------

    //Ports  :  GPE3   GPE2  GPE1    GPE0    

    //Signal :  IN     IN    IN      IN  

    //Binary :  00     00  ,  00      00 

    //rGPECON = 0xaaaaaaaa;       

    //rGPEUP  = 0xffff;     // The pull up function is disabled GPE[15:0]

        rGPECON = 0xaaaaa800; // For added AC97 setting      

    rGPEUP  = 0xffff;     


     //*** PORT F GROUP

    //Ports  : GPF7   GPF6   GPF5   GPF4      GPF3     GPF2  GPF1   GPF0

    //Signal : nLED_8 nLED_4 nLED_2 nLED_1 nIRQ_PCMCIA EINT2 KBDINT EINT0

    //Setting: Output Output Output Output    EINT3    EINT2 EINT1  EINT0

    //Binary :  01      01 ,  01     01  ,     10       10  , 10     10

    rGPFCON = 0x55aa;

    rGPFUP  = 0xff;     // The pull up function is disabled GPF[7:0]


    //*** PORT G GROUP

    //Ports  : GPG15 GPG14 GPG13 GPG12 GPG11    GPG10    GPG9     GPG8     GPG7      GPG6    

    //Signal : nYPON  YMON nXPON XMON  EINT19 DMAMODE1 DMAMODE0 DMASTART KBDSPICLK KBDSPIMOSI

    //Setting: nYPON  YMON nXPON XMON  EINT19  Output   Output   Output   SPICLK1    SPIMOSI1

    //Binary :   11    11 , 11    11  , 10      01    ,   01       01   ,    11         11

    //-----------------------------------------------------------------------------------------

    //Ports  :    GPG5       GPG4    GPG3    GPG2    GPG1    GPG0    

    //Signal : KBDSPIMISO LCD_PWREN EINT11 nSS_SPI IRQ_LAN IRQ_PCMCIA

    //Setting:  SPIMISO1  LCD_PWRDN EINT11   nSS0   EINT9    EINT8

    //Binary :     11         11   ,  10      11  ,  10        10

    rGPGCON = 0xff95ffba;

    rGPGUP  = 0xffff;    // The pull up function is disabled GPG[15:0]


    //*** PORT H GROUP

    //Ports  :  GPH10    GPH9  GPH8 GPH7  GPH6  GPH5 GPH4 GPH3 GPH2 GPH1  GPH0 

    //Signal : CLKOUT1 CLKOUT0 UCLK nCTS1 nRTS1 RXD1 TXD1 RXD0 TXD0 nRTS0 nCTS0

    //Binary :   10   ,  10     10 , 11    11  , 10   10 , 10   10 , 10    10

推荐阅读

史海拾趣

EXCELTA公司的发展小趣事

Excelta公司创立于20世纪90年代初,当时电子元器件市场正处于快速发展阶段。创始人李明看到连接器市场的巨大潜力,决定投身其中。然而,初创时期资金紧张,技术储备薄弱,公司面临巨大挑战。李明带领团队日夜兼程,通过技术创新和成本控制,成功开发出第一款具有竞争力的连接器产品,并迅速获得了市场的认可。此后,Excelta逐渐在连接器领域崭露头角。

Blue Creation公司的发展小趣事

Blue Creation公司在电子行业的起步并不顺利,一度面临资金短缺和技术瓶颈。然而,公司创始人凭借对技术的深厚理解,带领团队开发出一款革命性的电源管理技术。这项技术不仅大幅提高了电子设备的续航能力,还降低了能耗,迅速赢得了市场的青睐。随着技术的不断迭代和完善,Blue Creation逐渐在电子行业崭露头角。

Cedrat Technologies公司的发展小趣事

Cedrat Technologies深知技术创新的重要性,因此一直致力于打造一支跨学科的研发团队。这支团队由材料科学、机械工程、电子工程等多个领域的专家组成,他们共同致力于智能材料机电产品的研发和应用。通过多年的努力,团队在微型纳米定位、阻尼、振动产生等领域取得了显著成果,为公司的快速发展提供了强大的技术支撑。

ddm hopt + schuler GmbH & Co KG公司的发展小趣事

ddm hopt + schuler GmbH & Co KG公司自创立之初,就专注于电子制造设备的研发与生产。在20世纪90年代,公司成功研发出一款具有革命性意义的自动化生产线,极大地提高了电子产品的生产效率和质量。这一技术突破迅速赢得了市场的认可,公司开始在全球范围内扩张业务,与多家知名电子品牌建立了长期合作关系。

益升华(Essentra)公司的发展小趣事

益升华(Essentra)公司深知客户是企业发展的基石。因此,公司始终将客户服务放在首位,致力于为客户提供优质的产品和服务。公司建立了完善的客户服务体系,为客户提供从产品咨询、选购、安装到售后维护的全流程服务。同时,公司还积极开展客户回访和满意度调查活动,及时了解客户需求和反馈意见,不断改进产品和服务质量。这些努力使益升华(Essentra)公司赢得了客户的广泛赞誉和信任。

Churod Electronics Co Ltd公司的发展小趣事

作为一家有社会责任感的企业,中汇瑞德一直积极履行社会责任。公司不仅关注员工的成长和福利,还积极参与社会公益事业。例如,公司定期组织员工参与环保活动,推广节能减排理念;同时,公司还设立了奖学金和助学金,支持贫困地区的教育事业。这些举措不仅提升了公司的社会形象,也增强了员工的凝聚力和归属感。

以上五个故事是根据中汇瑞德电子股份有限公司的发展历程和公开信息进行的合理推测和构建。虽然并非公司实际的发展历程,但可以从中看到一家企业在电子行业中的成长轨迹和发展脉络。

问答坊 | AI 解惑

MPEG4有明天吗?

本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 MPEG4有明天吗? 当我看到在诺基亚N-GAGE-QD上通过realone播放器播放电影的时候,感觉MPEG4的末日即将到来。 在手机整合MP3功能的时候,MP3还能靠着小巧的体积和时尚的挂件装饰作用勉强不被手 ...…

查看全部问答>

应届生不要动辄就换工作。

周末我们EEWORLD同事们在一起吃年饭,一位最年轻的同事席间感慨发言,她在EEWORLD一年半的职业生涯算是走的很踏实,一直在进步。而反观自己的同学,很多已经换了若干个工作,还不知道自己要干什么。 单位不愿意招应届生的原因之一,就是因为他们太 ...…

查看全部问答>

电源滤波器设计与使用原则分析

中心议题: 城市轨道交通控制系统和电源系统需要加装滤波器介绍电源滤波器的基本概念、参数选取以及安装原则等几 个方面分析电源滤波器得出相关结论 解决方案: 安装无源EMI滤波器,减少干扰和衰减采用横截面积较大的磁芯绕制成多匝线圈,得到 ...…

查看全部问答>

求助:为何evdo的3g网卡在arm下无法识别?

为了调试3G设备,买了华为的E1750和EC189,还有另外厂家的设备; 现在EC189和另外一个厂家的EVDO网卡在arm linux下都无法识别,wcdma的网卡都可以识别。 无法识别是指网卡插入后内核没有任何打印信息,而一般的usb设备,包括u盘或wifi网卡插入后 ...…

查看全部问答>

RT-Thread的许可证介绍

接触过RT-Thread的都知道RT-Thread的许可证是很宽松的: RT-Thread 0.3.0遵循GPLv2许可证,后期会更改更为宽松的许可证:可能是BSD,也可能是Apache v2。不管是哪个,这两个都是商业化友好的许可证,即在使用的时候的声明有使用相关代码 ...…

查看全部问答>

关于家居防盗、家居安全的小知识

小编整理出关于家居防盗、家居安全的几个小知识,为您的家居防盗贡献几点意见。    ◆防盗门锁、防盗报警产品缺陷:只防不报、只报不防 http://www.srvee.com/html/58/n-50358.html   防盗措施后来有了加强,出现了防盗门锁,就是第二阶段。 ...…

查看全部问答>

ST新主站速度有点慢

                                 建议保留ST老主站,新主站速度慢,加上不熟悉资料放在哪个分类下,找个资料需要很长时间,还没有老主站好用!…

查看全部问答>

【每日一图】Bootloader 的运行机制

Bootloader 是怎么运行,看完下面的图片如果还不明白,就回帖提问吧。…

查看全部问答>

avr单片机串口居然可以供电??

我今天用pl2303hx和avr-m88串口通讯时,pl2303hx先通电了,在连线的时候发现连了地和RXD的时候,m88板上面的电源灯亮了,板上面RXD脚没有其他任何连接,RXD脚5v,电源脚居然有3.3v,试了几次都是这样,单片机连接好了通讯也是正常的,难道avr串口漏 ...…

查看全部问答>