第008课_第1个ARM落版程序及引申

form:第008课_第1个ARM裸板程序及引申

第001节_辅线1_硬件知识_LED原理图

当我们学习C语言的时候,我们会写个Hello程序。那当我们下ARM程序,也该有一个简单的程序引领我们入门,这个程序就是点亮LED。

我们怎样去点亮一个LED呢?分为三步:

  1. 看原理图,确定控制LED的引脚;

  2. 看主芯片的芯片手册,确定如何控制这个引脚

  3. 写程序

先来讲讲怎么看原理图:LED的样子有很多种,想插脚的,贴片的。

它们长得完全不一样,因此我们在原理图中将它抽象出来。

点亮LED需要同电源,同时为了保护LED,价格电阻减小电流。控制LED灯的亮灭,可以手动开关LED,但在电子系统中,不可能让人来控制开关,通过编程,利用芯片的引脚去控制开关。

LED的驱动方式,常见的有四种。

  方式1:使用引脚输出3.3V点亮LED,输出0V熄灭LED。

  方式2:使用引脚拉低到0V点亮LED,输出3.3V熄灭LED。

  方式3:使用引脚输出1.2V点亮LED,输出0V熄灭LED。

  方式4:使用引脚输出0V点亮LED,输出1.2V熄灭LED。

 

由此,主芯片引脚输出高电平/低电平,即可改变LED状态,而无需关注GPIO引脚输出的事3.3V还是1.2V。所以简称输出1或0:

  逻辑1 -> 高电平

  逻辑0 -> 低电平

 

第002节_辅线1_硬件知识_S3C2440启动流程与GPIO操作

在原理图中,同名的Net表示是连在一起的。

 

引脚GPF4怎样输出1或0?

1. 配置为输出引脚

2. 设置状态

 

因此,设置GPFCON[9:8]=0b01,即GPF4配置为输出

设置GPFDAT[4]=1或0,即输出高电平或低电平

 

S3C2440框架:

 

 

S3C2440启动流程:

  Nor启动:

    Nor Flash的基地址为0,片内RAM地址为0x4000 0000;

    CPU读出Nor上第1个指令(前4字节),执行 

 

posted @ 2019-04-02 18:42  doitjust  阅读(206)  评论(0编辑  收藏  举报