历史上的今天

今天是:2024年11月13日(星期三)

2019年11月13日 | ARM9之2440之os-ii

发布者:532829319hmk 来源: 51hei关键字:ARM9  os-ii 手机看文章 扫描二维码
随时随地手机看文章

#include "config.h"


extern char Image$RW$Limit[];

void *mallocPt=Image$RW$Limit;


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

static int delayLoopCount;


void Delay(int time)

{

      // time=0: adjust the Delay function by WatchDog timer.

      // time>0: the number of loop time

      // resolution of time is 100us.

        int i, adjust=0;


    if(time==0)

    {

               time   = 200;

        adjust = 1;

        delayLoopCount = 800;


            //PCLK/1M,Watch-dog disable,1/64,interrupt disable,reset disable

        rWTCON = ((PCLK/1000000-1)<<8)|(2<<3); 

        rWTDAT = 0xffff;                              //for first update

        rWTCNT = 0xffff;                              //resolution=64us @any PCLK 

rWTCON = ((PCLK/1000000-1)<<8)|(2<<3)|(1<<5); //Watch-dog timer start

    }


    for(;time>0;time--)

               for(i=0;i

    if(adjust==1)

    {

        rWTCON = ((PCLK/1000000-1)<<8)|(2<<3); //Watch-dog timer stop

        i = 0xffff - rWTCNT;                     //1count->64us, 200*800 cycle runtime = 64*i us


//Uart_Printf("nrWTCNT=%x ", rWTCNT);

//Uart_Printf("ni (0xffff -rWTCNT)=%d", i);

        delayLoopCount = 16000000/(i*64);         //200*800:64*i=1*x:100 -> x=160000*100/(64*i)   

        //Uart_Printf("ndelayLoopCount=%d", delayLoopCount);

    }

   

}



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

void Port_Init(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: OUTPUT  OUTPUT   OUTPUT  OUTPUT   OUTPUT   OUTPUT   OUTPUT OUTPUT OUTPUT   OUTPUT    OUTPUT 

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

    rGPBCON = 0x155555;

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


    //*** PORT C GROUP

    //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 I2SSDO 

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

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

    //Ports  :  GPE3   GPE2  GPE1    GPE0    

    //Signal : I2SSDI CDCLK I2SSCLK I2SLRCK     

    //Binary :  10     10  ,  10      10 

    rGPECON = 0xaaaaaaaa;       

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


    //*** 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

    rGPHCON = 0x2afaaa;

    rGPHUP  = 0x7ff;    // The pull up function is disabled GPH[10:0]


    // Added for S3C2440, DonGo

    //PORT J GROUP

    //Ports        :  GPJ12    GPJ11     GPJ10        GPJ9  GPJ8      GPJ7        GPJ6  GPJ5        GPJ4  GPJ3  GPJ2  GPJ1  GPJ0

    //Signal : CAMRESET CAMCLKOUT CAMHREF CAMVS CAMPCLKIN CAMD7 CAMD6 CAMD5 CAMD4 CAMD3 CAMD2 CAMD1 CAMD0

    //Setting: Out      Out      CAMHREF CAMVS CAMPCLKIN CAMD7 CAMD6 CAMD5 CAMD4 CAMD3 CAMD2 CAMD1 CAMD0

[1] [2] [3] [4]
关键字:ARM9  os-ii 引用地址:ARM9之2440之os-ii

上一篇:ARM9之2440时钟
下一篇:linux 调试之lrz的移植与一些说明

推荐阅读

        11月13日早间消息,Intel宣布推出XMM 8160 5G多模基带,可用于手机、PC和网络设备等。按照Intel的说法,这款基带的推出时间比原计划提前了半年多。  XMM 8160的峰值速度为6Gbps,是目前用于iPhone XS系列手机的XMM 7560 LTE基带的6倍。  Intel表示,XMM 8160基带将在2019年下半年出货,首批商用设备(手机、PC等)则最早在2020...
丰田汽车宣布,其CUE类人机器人创造了新记录,该类人为驱动的机器连续执行篮球罚球次数最多。该机器人连续连续成功罚了2020次罚球,在吉尼斯世界纪录中排名第一。CUE机器人是作为自愿项目诞生的,供丰田员工在业余时间使用。 在早期阶段,CUE机器人在两次篮球投篮之间需要整整三分钟的时间,这使其成为有趣但极其缓慢的人形篮球运动员。根据吉尼斯世界...
11月11日,博世力士乐(西安)电子传动与控制有限公司二期工厂开幕典礼在西安经开区举行。据西安新闻网报道,此次二期工厂开幕,将新增12条组装技术和线性传动技术生产线。以此为契机,博世力士乐将把西安工厂打造成全球“未来工厂”的示范基地。据悉,2019年3月,博世力士乐二期项目正式开工建设,投资5亿元,建设工业4.0线性导轨及装配输送系统项目,预...
广告摘要声明广告撰文 | 石头据高工机器人不完全统计,2021年10月机器人行业融资事件仅12起,较上月有所回落,环比下降52%。其中,过亿元融资5起,主要聚焦于服务机器人、手术机器人领域。值得一提的是,与往月相比,资本对于火热的移动机器人赛道,如工业AMR/AGV热度有所下降。在融资轮次来看,天使轮2起,A轮相关5起,B轮2起,C轮相关2起等,其中,优...

史海拾趣

问答坊 | AI 解惑

一种轨至轨输入的低压低功耗运放的设计

作者:贾政亚 张丽燕 黄云川本文采用0.35mm的CMOS标准工艺,设计了一种轨至轨输入,静态功耗150mW,相位增益86dB,单位增益带宽2.3MHz的低压低功耗运算放大器。该运放在共模输入电平下有着几乎恒定的跨导,使频率补偿更容易实现,可应用于VLSI库单 ...…

查看全部问答∨

短信猫发送长短信遇到的问题

用短信猫发送单条短信的话没有问题。。每条发送在5s左右,但是如果是长短信的话(两条或更多),第一条发送时间是5s,但第二条就会用30s左右。 达人们帮帮小弟吧。刚开始弄这个,郁闷死了。…

查看全部问答∨

if能这样用吗 如不能要怎么用

                     if(a[0]+a[1]==0x1a9)                   if(a[0]*a[1]==0xa956)         ...…

查看全部问答∨

C Shell 如何控制子进程

小弟刚刚接触cshell,现在碰到一个对我来说很难的问题,具体是这样的:   小弟要写一个cshell的脚本,用来调用synopsis的vcs仿真并控制其仿真流程。      这一步很简单,只需要在脚本中执行"./simv -ucli"就 ...…

查看全部问答∨

wince和app怎么分开?

大家讨论下呢, 应用情境os:wince,app是自己公司开发,也可以提供sdk包给第三方开发, 那如何做到wince和app如何分开呢?怎么做比较合理? 不能像手持设备一样,就提供个wince的系统,最好能够把开始键和其他系统供功能给屏蔽掉。…

查看全部问答∨

交叉编译环境搭建,初级问题,大家指教,初学。

打算在ubuntu 8.04下用建一个arm9的交叉编译环境,从网上搜了一下看到好多方法,不知都要安装和设置哪些东西,有点晕。^_^ 有的说只安装一个交叉编译器cross-3.2.tar.bz2就可以了。 还有的说要: 下载源代码包:    binutils-2. ...…

查看全部问答∨

基于WINCE的ARM9中网络电话代码,求助!

各位能否提供一份基于wince的网络电话的evc代码,或提供些思路,小弟不胜感激。 邮箱:yangyang_1980_ren@yahoo.com.cn…

查看全部问答∨

晶体管合金 后放大倍数翻倍,如何解释

晶体管合金后放大倍数翻倍,如何解释…

查看全部问答∨

提问+KL46低功耗运行机制以及模式切换

无操作系统,采用定时中断的方式,现在想让KL46在每次中断产生处理完事物后进入低功耗模式, 然后每个中断唤醒(唤醒后处理事物)。 另外还有一种状态是当系统进入待机状态后,切换进入低功耗模式,这个时候不在通过定时器唤醒了, 而是通过ADC ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved