第2个程序:用C语言实现点亮一盏led
一共有三个文件:head.S led_on_c.c Makefile
- head.S的内容如下:
1 /* 2 ** 时间 :2016年4月8日16:56:35 3 ** 地点 :宿舍。 4 ** 功能 :初始化一些硬件相关的东西,调用C函数。 5 ** 6 ** 附加信息: 7 ** 1、运行环境:JZ2440v2开发板。 8 ** 2、程序编译环境:Ubuntu9.10 + 交叉编译工具arm-linux-gcc。 9 ** 3、所用到的寄存器有:GPFCON、GPFDAT、WTCON。 10 ** 4、led1所接到的引脚是GPF4引脚。 11 */ 12 13 .equ WTCON, 0x53000000 @宏定义WTCON为0x53000000 14 15 .text 16 17 .global _start 18 19 _start : 20 /* 关看门狗,防止cpu不断自启。 */ 21 ldr r0, = WTCON 22 mov r1, #0 23 str r1, [r0] 24 25 /* 调用C函数前要先设置栈。 */ 26 ldr sp, = 4096 27 28 /* 调用C函数。 */ 29 bl main 30 31 halt_loop : 32 b halt_loop
- led_on_c.c内容如下:
1 /* 2 ** 时间 :2016年4月8日17:05:23 3 ** 地点 :宿舍。 4 ** 功能 :点亮第一盏LED:led1。 5 */ 6 7 #define GPFCON *((volatile unsigned long *)0x56000050) 8 #define GPFDAT *((volatile unsigned long *)0x56000054) 9 10 int main(void) 11 { 12 /* 配置GPF4引脚为输出引脚。 */ 13 GPFCON = 0x00000100; 14 15 /* 让GPF4引脚输出低电平,点亮led1。 */ 16 GPFDAT = 0x00000000; 17 18 while (1); 19 20 return 0; 21 }
- Makefile文件的内容如下:
#
# 时间 :2016年4月8日17:11:09
#led_on_c.bin : head.S led_on_c.c
arm-linux-gcc -Wall -g -c head.S -o head.o
arm-linux-gcc -Wall -g -c led_on_c.c -o led_on_c.o
arm-linux-ld -Ttext 0x00000000 -g head.o led_on_c.o -o led_on_c_elf
arm-linux-objcopy -O binary -S led_on_c_elf led_on_c.bin
arm-linux-objdump -D -m arm led_on_c_elf > led_on_c_elf.dis
arm-linux-objdump -D -b binary -m arm led_on_c.bin > led_on_c_bin.disclean :
rm -f *.o *.dis *.bin *elf
转载于:https://www.cnblogs.com/zhouhaiyang/p/5369136.html
第2个程序:用C语言实现点亮一盏led相关推荐
- 树莓派点亮led灯C语言,树莓派点亮你的LED小灯——GPIO学习笔记
这篇博文是我Coursera学习笔记整理所得,入门操作基本都在这里了.闲话不多说,直接进入正题. 1.树莓派的GPIO## GPIO是General Purpose Input Output (通用输 ...
- c语言程序设计点亮第一个LED,实验2__C语言程序设计及_LED跑马灯实验.ppt
实验2__C语言程序设计及_LED跑马灯实验 软件工程系 实验目的 进一步熟悉ADS开发环境,并能进行相关设置 熟悉裸机系统下C语言运行环境的设置方法. 掌握ADS下C语言程序的编辑.编译.链接及下载 ...
- 单片机用c语言开关点亮一盏灯,用PLC设计用一个开关控制8个灯,每5S逐个点亮,并循环...
我用S7-300的PLC中的STL语言编写的程序,你可以将它转化为LAD语言看的: 网络1 A I 0.3 //用于流水灯的复位与停止循环点亮. JNB _00 ...
- 大牛教学 | 在51单片机上用C语言实现循环点亮8盏LED灯
大家好,最近很多同学都在找分享,也有许多同学问我单片机问题. 在此,在CSDN平台开设账号,分享平时给同学们的案例.希望能帮到更多的人.谢谢 首先是循环点亮LED灯 原理图 如上图,我们有8颗LED等 ...
- 【51单片机】在51单片机上用C语言实现循环点亮8盏LED灯
标题[51单片机] 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 代码如下(示例): #include <REGX52.H> //sbit LED = P2^0; vo ...
- IOS APP 国际化 程序内切换语言实现 不重新启动系统(支持项目中stroyboard 、xib 混用。完美解决方案)
IOS APP 国际化 程序内切换语言实现 不重新启动系统(支持项目中stroyboard .xib 混用.完美解决方案) 参考文章: (1)IOS APP 国际化 程序内切换语言实现 不重新启动系统 ...
- 程序员的语言“艳遇史”(一)——班长pascal
程序员的语言"艳遇史"(一) (***以下小说情节纯属虚构,供朋友们在紧张编程后轻松一下,如有雷同纯属巧合,切勿对号入座***) 地狱里,一个曾经的程序员经不过魔鬼们的严刑拷打,终 ...
- 黑马程序员——c语言学习心得——函数传递二维数组
黑马程序员--c语言学习心得--函数传递二维数组 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.定义指针的时候一定要初始化. 变量 ...
- 写操作系统用的C语言和写应用程序的C语言不是一个
我以前看一本书,名叫 30天自制操作系统:大概翻了一下,感觉也不是太难:因为比如,它有一整章在讲,C语言指针.C语言画一个矩形:你要是熟悉C语言的话,指针肯定理解:在没有窗口的情况下,用Turbo C ...
最新文章
- 使用php开发,基于swoole扩展开发的工具 swoole-crontab
- Ajax请求导出Excel的问题
- python怎么按键开始与停止_使用Python启动和停止子流程
- Vue-Cli 学习整理【转载】
- jQuery杂项进阶(四)
- ajax jquery php_基于Ajax jquery的使用php登录
- Android:Eclipse+ADT+Android SDK 搭建安卓开发环境
- DBeaverEE for Mac(数据库管理工具)v21.2.1中文版
- java计算机毕业设计vue图书管理系统MyBatis+系统+LW文档+源码+调试部署
- Win系统 - Win10 进入 BIOS 系统(非启动快捷键)
- nginx官网下载百度云分享
- 建立oracle数据库链接,Oracle数据库创建数据库连接(DBLink)详细讲解
- notion函数_【notion】关于进度管理-时间函数的一点小心得
- ubuntu11.10 安装谷歌拼音输入法详细步骤
- 三点法求点三维坐标实验
- php 正三角塔,以色列,耶路撒冷的中心地段,三角塔楼 / 里伯斯金
- 苹果6plus性能测试软件,iPhone 6、iPhone6 Plus性能测试
- 图片转换命令convert
- Unity开发回合制手游《魔神英雄传-神龙斗士》
- 吉隆坡Mac高清动态壁纸
热门文章
- java更改reader字体颜色,Java 修改 文件内容 and BufferedReader 乱码问题
- hadoop yarn 获取日志_Hadoop YARN日志查看方式
- 怎么看电脑有没有蓝牙_怎么选购电脑音响?挑选到性价比高的电脑桌面音箱,看完这篇推荐指南就懂了!...
- python 检测端口是否被占用
- Spring Cloud Zuul--服务网关
- Perl 模块 Getopt::Std 和 Getopt::Long
- 2019web前端全新面试题库 一
- 《Java编程思想》笔记10------字符串
- View 绘制体系知识梳理(7) getMeasuredWidth 和 getWidth 的区别
- Java泛型的个人理解