Tiny6410 裸机开发--裸机点亮LED】的更多相关文章

环境搭建 由于我不喜欢使用虚拟机,双系统无法同时烧程序.最近才折腾好Windows10下编译和下载程序,使用的是韦东山做的easy open jtag,资料十分齐全,之前使用jlink搭建环境碰到了一些坑,还是使用一些现成 的环境好. 点亮LED 我使用的IDE是eclipse,但是无法调试,这个没有仔细设置 start.S // 启动代码 .global _start .global delay _start: // 把外设的基地址告诉CPU ldr r0, =0x70000000 orr r…
这节我们就开始开始进行实战啦!这里顺便说一下啊,出来做开发的基础很重要啊,基础不好,迟早是要恶补的.个人深刻觉得像这种嵌入式的开发对C语言和微机接口与原理是非常依赖的,必须要有深厚的基础才能hold的住,不然真像一些人说的,学了一年嵌入式感觉还没找到门. 不能再扯了,涉及到linux的驱动开发知识面灰常广,再扯文章就会变得灰常长.首先还是回到led驱动的本身上,自从linux被移植到arm上后,做驱动开发的硬件知识要求有所降低,很多都回归到了软件上,这是系统编程的一大特点,当然 ,也不排除有很多…
这节我们就开始开始进行实战啦!这里顺便说一下啊,出来做开发的基础很重要啊,基础不好,迟早是要恶补的.个人深刻觉得像这种嵌入式的开发对C语言和微机接口与原理是非常依赖的,必须要有深厚的基础才能hold的住,不然真像一些人说的,学了一年嵌入式感觉还没找到门. 不能再扯了,涉及到linux的驱动开发知识面灰常广,再扯文章就会变得灰常长.首先还是回到led驱动的本身上,自从linux被移植到arm上后,做驱动开发的硬件知识要求有所降低,很多都回归到了软件上,这是系统编程的一大特点,当然 ,也不排除有很多…
文章目录 一.硬件知识 1.LED原理图 2.芯片手册 Ⅰ.找LED原理图 Ⅱ.找对应引脚 Ⅲ.在芯片手册中查找引脚信息 Ⅳ.查看寄存器说明 Ⅴ.配置寄存器 二.S3C2440框架与启动过程 三.要用到的软件 1.远程登陆工具 MobaXterm 2.FTP传输工具FileZilla 3.交叉编译工具arm-linux-gcc 四.编写点亮LED的程序 1.汇编语言版 2.C语言版 2020.3.18-19 裸机点亮LED可以分为三步: 看原理图,确定控制LED的引脚 看芯片手册,确定如何设置/…
前言 CUbieboard2板载两个LED,一个绿色的,一个蓝色的,其中绿色LED通过三极管与PH20管脚连接,蓝色LED通过三极管与PH21管脚连接,这里只以蓝色LED为例,电路原理图如图1和图2所示. 图1 LED所使用的管脚 图2 LED与三极管连接图 由此可知,当PH21输出高电平时,三极管处于导通状态,从而蓝色LED会被点亮:当PH21输出低电平时,三极管处于截止状态,蓝色LED熄灭. 一.目的 编写第一个裸机程序,点亮板载的蓝色LED. 二.源代码说明 程序很简单,已给出详细注释,直…
平台:iTop4412 SCP 2G 开发板有两个可控制的LED灯:分别接到引脚:KP_COL0和VDD50_EN KP_COL0就是GPL2_0 VDD50_EN就是GPK1_1 配置GPX_CON对应位为输出功能,设置GPX_DAT相应管脚输出为1,就可以点亮LED灯了. 实现代码如下: 源码1:start.S .global _start #include "s3c4412_gpio.h" .word 0x2000 .word 0x0 .word 0x0 .word 0x0 _s…
Raspberry PI 系列 -- 裸机点亮LED灯 背景 近期刚买了Raspberry PI B+,配置执行了官方提供的Raspbian系统,折腾了一周Linux系统,感觉没啥意思,于是就试着想了解底层的启动流程.通过几天的研究,发现最底层部分的启动是由官方提供的bootcore.bin和start.elf文件来执行(应该是对硬件设备的初始化.如MMU等),之后由下一部分kernel.img的_start接管. 为了真正验证此流程,于是想利用GPIO控制LED灯,几经折腾最终成功点亮LED,…
平台:jz2440 作者:庄泽彬(欢迎转载,请注明作者) 说明:韦东山一期视频学习笔记 一.我们首先来做第一个实验,用汇编语言点亮板子上的LED. 1.1 LED的原理图 从下面的原理图可知LED1是连接到芯片的GPF4                         1.2 相关的GPIO寄存器的配置 我们要点亮LED,就要把相关的端口配置成输出口,并且输出低电平.看看芯片手册,要GPF4输出低电平要配置GPFCON寄存器设置相应的位位01即为输出状态,在配置GPFDAT相应的位为0即可输出低…
前言 前面通过汇编语言点亮LED,代码虽然简单,但并不是很直观.这次使用熟悉的C语言来控制LED,但是需要注意的地方有两点,第一,要想使用C语言,首先需要在调用C语言代码之前设置好堆栈:第二,调用C语言函数时,是需要相对跳转还是绝对地址跳转,还是两者都可以,这就需要知道代码是否运行在链接地址处,是位置无关的还是位置有关的.从前面分析可以知道,我们的代码是运行在链接地址处的,因此可以用直接进行函数的调用. 一.目的 使用C语言的方式操作板载LED. 二.源代码说明 start.S文件.首先禁止CP…
前言 在Cubieboard2裸机开发之(三)里用到了一个延时函数delay,它的延时时间是不精确的,因此为了能够精确延时,就需要定时器的配合.定时器可以精确延时的一个重要原因是它的计时时钟(或者说频率)是精确的,计时时钟越小,能实现的延时时间就越小. A20的定时器模块比较强大,它不仅有6个普通的定时器,还有4个高速定时器,计时频率可达上百MHz,更重要的是它们操作起来非常简单.易懂. 一.目的 学习使用A20的普通定时器,实现精确延时. 二.源代码说明 start.S文件.首先禁止CPU的I…