两个文件start.S和led.c

start.S

.global _start                @声明一个全局的标号
_start:
    bl main                    @跳转到C函数去执行
halt:
    b halt                    @死循环

led.c

#define GPC0CON        *((volatile unsigned int *)0xE0200060)
#define GPC0DAT        *((volatile unsigned int *)0xE0200064)

void delay(volatile unsigned int t)
{
    volatile unsigned int t2 = 0xFFFF;
    while (t--)
        for (; t2; t2--);
}

int main()
{
    int toggle = 0;
    GPC0CON &= ~(0xFF << 12);
    GPC0CON |= 0x11 << 12;    // 配置GPC0_3和GPC0_4为输出
    
    while (1)
    {
        GPC0DAT &= ~(0x3 << 3);        // 熄灭LED1和LED2
        
        if (toggle)
            GPC0DAT |= 1 << 3;        // 点亮LED1
        else
            GPC0DAT |= 1 << 4;        // 点亮LED2
        
        toggle = !toggle;
        delay(0x50000);
    }
    
    return 0;
}

Makefile

led.bin: start.o led.o
    arm-linux-ld -Ttext 0x20000000 -o led.elf $^
    arm-linux-objcopy -O binary led.elf $@
    arm-linux-objdump -D led.elf > led.dis
    
led.o : led.c
    arm-linux-gcc -c $< -o $@
start.o : start.S
    arm-linux-gcc -c $< -o $@
    
clean:
    rm *.o *.elf *.bin *.dis

TQ210裸机编程(2)——LED流水灯的更多相关文章

  1. (一)GPIO 编程实验 LED 流水灯控制

    7个寄存器 是R1-R16.(当然,里面有很多是分几个模式的,所以总共有37个)类似于单片机的R0-R7. GPXCON,GPXDAT等等是另外的寄存器,应该叫,特殊功能寄存器,类似于单片机的P0,P ...

  2. TQ210裸机编程(3)——按键(查询法)

    首先查看TQ210的底板原理图 这次编程只操作KEY1和KEY2,在TQ210核心板原理图中搜索XEINT0 可以看出KEY1和KEY2分别接在S5PV210的GPH0_0和GPH0_1引脚. 这次编 ...

  3. S3C6410裸奔之旅——RVDS2.2编译、仿真、调试过程 LED流水灯---转的

    S3C6410裸奔之旅——RVDS2.2编译.仿真.调试过程 LED流水灯 (2012-10-13 23:56:30) 转载▼ 标签: s3c6410裸奔 ok6410 rvds2.2 rvds2.2 ...

  4. 第一个FPGA工程—LED流水灯

    这一章我们来实现第一个FPGA工程-LED流水灯.我们将通过流水灯例程向大家介绍一次完整的FPGA开发流程,从新建工程,代码设计,综合实现,管脚约束,下载FPGA程序.掌握本章内容,大家就算正式的开始 ...

  5. 使用CCS10新建TMS320F28335工程并闪烁LED(流水灯)程序

    学习TMS320F28335使用Code Composer Studio 10.4.0下载和安装本文不再叙述. 1. 新建工程 1.1选择目录新建工作区 1.2打开软件界面如下图所示: 1.3选择新建 ...

  6. 学习笔记——单片机简介 & 点亮LED & 流水灯 & 电路基础【更新Ing】

    视频地址:https://www.bilibili.com/video/av10765766 超详细!!!!!! 单片机内部三大资源 [资源:单片机可提供使用的东西] FLASH 可以重复擦写 断电后 ...

  7. 关于LED 流水灯的软件调试方法(非开发板调试)

    因为: 硬件 norflash 有寿命,所以尽量少用,而且自己也不会把 程序在 KEIL中从SDRAM 中调试,不会设置.所以采取软件虚拟的方法调试. 主要修改一下几部分: 1.  ledcircle ...

  8. LED流水灯(二)

    记住看汇编的时候是红在上面 黑色在下面 startup.s 程序 ; MDK跑马灯实验; PRESERVE8               // 字节对齐关键词 ,汇编有8位对齐的要求,要添加 AREA ...

  9. [DM8168]Linux下控制GPIO实现LED流水灯

    首先加载驱动模块,应用程序通过调用API实现GPIO控制功能. 驱动程序: /* * fileName: led_gpio.c * just for LED GPIO test * GP1_14 -& ...

随机推荐

  1. 重装sql server2008数据库安装不上原因

    因为注册表已经存在了sql server的信息,所以重新安装时需要删除注册表的一些信息 打开注册表:regedit 删除 HKEY_LOCAL_MACHINE\system/CurrentContro ...

  2. [POJ 2588] Snakes

    同swustoj 8 Snakes Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1015   Accepted: 341 ...

  3. php对提交数据的验证

    <?php //security.php /** * @author zhengwei * @copyright 2007 */ /* 函数名称:inject_check() 函数作用:检测提交 ...

  4. sharepoint 2010 页面添加footer方法 custom footer for sharepoint 2010 master page

    转:http://blog.csdn.net/chenxinxian/article/details/8720893 在sharepoint 2010的页面中,我们发现,没有页尾,如果我们需要给页面添 ...

  5. MVC 5 的 EF6 Code First 入门

    英文渣水平,大伙凑合着看吧…… 这是微软官方SignalR 2.0教程Getting Started with Entity Framework 6 Code First using MVC 5 系列 ...

  6. HDU 3642 Get The Treasury 线段树+分层扫描线

    http://www.acmerblog.com/hdu-3642-get-the-treasury-6603.html 学习:三维就是把竖坐标离散化分层,每一层进行线段树二维面积并就好了

  7. POJ3414 Pots BFS搜素

    题意:通过题目给出的三种操作,让任意一个杯子中的水到达一定量 分析:两个杯子最大容量是100,所以开个100*100的数组记录状态,最多1w个状态,所以复杂度很低,然后记录一下路径就好 注:代码写残了 ...

  8. unity3d切换场景时,背景音乐保持播放

    首先创建两个场景: One,Two 再创建一个空游戏对象: GameObject,并添加AudioSource组件,把要播放的音乐拖放进去 给GameObject添加脚本AlwayAudio,代码如下 ...

  9. SVN server 安装 并创建用户访问

    1. 下载svn   官网https://www.visualsvn.com/server/download/ 或者其他网站都行,下载是VisualSVN-Server-3.5.6.msi. 2.安装 ...

  10. wxWidgets Tutorial

    wxWidgets Tutorial网站整理 两个重要的教程网站:1:点这里:2:点这里. 还有一个wxWidgets项目参考的网站:点这里. 已经翻译好的中文教程:点这里. 参考书籍:<wxW ...