0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

S3C6410学习笔记:Windows下搭建ARM11裸机开发环境

嵌入式那些事 来源:嵌入式那些事 2023-04-06 17:52 次阅读

之前写过文章,描述在Linux环境下搭建ARM11的开发环境,有需要的可以在ARM11标签中进行查找。

目前在学习ARM11的裸机编程,不想用虚拟机跑Linux来进行开发,因为平时用的笔记本电脑的配置跑虚拟机还是有点困难(我的台式机跑虚拟机还是没问题的),现在讲述一下如何在Windows中搭建ARM11的裸机开发环境,方便没法使用虚拟机的朋友也能够进行ARM11的开发。

系统环境:Windows 7 64位;

ARM11:Tiny6410;

1、交叉编译工具 - GNU Tools ARM Embedded

使用这个交叉编译工具就可以将程序编译成能在ARM11上运行的文件。这里将GNU Tools ARM Embedded的bin目录添加到系统的环境变量中,然后打开控制台输入:arm-none-eabi-gcc -v,查看环境变量配置是否成功,如果环境变量配置成功了,那么会正确的显示arm-none-eabi-gcc的版本号:

32df115e-d460-11ed-bfe3-dac502259ad0.png

3305bc78-d460-11ed-bfe3-dac502259ad0.png

2、MSYS

MSYS是一个小型的GNU环境,包括基本的bash,make等等。对裸机程序通过Makefile文件进行管理与编译,并且通过MSYS的make来执行Makefile文件的内容。

将msys/1.0/bin目录下的路径添加到系统的环境变量中,然后打开控制台输入:make -v,查看环境变量配置是否成功,如果环境变量配置成功了,那么会正确的显示make的版本号:

333a53f2-d460-11ed-bfe3-dac502259ad0.png

335e8ede-d460-11ed-bfe3-dac502259ad0.png

3、编译程序

start.S文件的内容如下:

/*
 *By:Ailson Jack
 *Date:2019.04.29
 *Des:汇编点亮LED <>
 *LED1~LED4对应GPK4~GPK7
 *Blog:www.only2fire.com
 */

.global _start

_start:
    // 把外设的基地址告诉CPU
    ldr r0, =0x70000000     //对于6410来说,内存(0x00000000~0x60000000),外设(0x70000000-0x7fffffff)
    orr r0, r0, #0x13       //外设大小:256M
    mcr p15,0,r0,c15,c2,4   //把r0的值(包括了外设基地址+外设大小)告诉cpu

    // 关看门狗,防止程序不断重启
    ldr r0, =0x7E004000     //看门狗控制寄存器
    mov r1, #0
    str r1, [r0]

    // 设置GPKCON0
    ldr r1, =0x7F008800
    ldr r0, =0x11110000     //GPK4,GPK5,GPK6,GPK7为输出模式
    str r0, [r1]

    mov r2, #0x1000
led_blink:
    // 设置GPKDAT,使GPK_4/5/6/7引脚输出低电平,LED亮
    ldr r1, =0x7F008808
    mov r0, #0
    str r0, [r1]

    // 延时
    bl delay

    // 设置GPKDAT,使GPK_4/5/6/7引脚输出高电平,LED灭
    ldr r1, =0x7F008808
    mov r0, #0xf0
    str r0, [r1]

    // 延时
    bl delay

    sub r2, r2, #1
    cmp r2,#0
    bne led_blink

halt:
    b halt

delay:
    mov r0, #0x1000000
delay_loop:
    cmp r0, #0
    sub r0, r0, #1
    bne delay_loop
    mov pc, lr /*子程序返回*/

Makefile文件的内容如下:

#By:AilsonJack
#Date:2019.05.01
#Des:Makefile文件
#Blog:www.only2fire.com
#备注:$@--目标文件,$^--所有的依赖文件,$<--第一个依赖文件

PREFIX = arm-none-eabi-
#PREFIX = arm-linux-

CC = $(PREFIX)gcc
LD = $(PREFIX)ld
OBJCOPY = $(PREFIX)objcopy
OBJDUMP = $(PREFIX)objdump

led.bin: start.o
 $(LD) -Ttext 0x50000000 -o led.elf $^
 $(OBJCOPY) -O binary led.elf led.bin
 $(OBJDUMP) -D led.elf >led_elf.dis

%.o:%.S
$(CC)-c-g$< -o $@

%.o : %.c
 $(CC) -c -g $< -o $@

clean:
 rm -rf *.o *.elf *.bin *.dis

在LED程序文件中,打开控制终端,然后执行make命令来编译LED程序:

33847b44-d460-11ed-bfe3-dac502259ad0.png

将编译好的led.bin文件通过友善之臂提供的MiniTools下载到ARM11板子中,就可以看到核心板的4个小灯在闪烁了。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9091

    浏览量

    367487
  • Linux
    +关注

    关注

    87

    文章

    11302

    浏览量

    209430
  • WINDOWS
    +关注

    关注

    3

    文章

    3544

    浏览量

    88664
  • 编译
    +关注

    关注

    0

    文章

    657

    浏览量

    32867
  • 虚拟机
    +关注

    关注

    1

    文章

    914

    浏览量

    28178

原文标题:S3C6410学习笔记-Windows下搭建ARM11裸机开发环境(1):工具安装

文章出处:【微信号:嵌入式那些事,微信公众号:嵌入式那些事】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ARM11 S3c6410开发板+GPS模块 完美实现

    要求的嵌入式系统应用场合。 UT-S3C6410开发板是性能稳定、功能强大、高性价比的ARM11处理器开发板;专为消费类电子、工业控制、车载导航、人机界面、多媒体终端、POS机、行业P
    发表于 12-16 09:26

    STM32 vs S3C6410学用哪个比较好

    本人正在学习ARM开发, 开始在淘宝上买了S3C6410ARM 11
    发表于 06-14 11:59

    S3C6410的JLink的调试方法--Samsung ARM11 S3C6410

    。Step3正确安装RDS2.2 后会出现两个调试器。AXD debugger v1.31 和Realview Debugger v1.8这里以AXD debugger 为例介绍JLink V8 的使用................S3C6410的JLink的调试方法下
    发表于 05-19 17:29

    S3C6410裸机开发教程及源代码

    `这是一个对于S3C6410比较全面的裸机开发教程,虽然是对应友善之臂的开发板,对于不是用友善之臂板子的也可以借鉴很多,看来友善之臂资料做得相当不错啊。下面是目录,可以看到内容很全面:
    发表于 12-22 09:30

    想知道I.MX6U和arm11 s3c6410 s3c2440等等几个处理器能力的比较关系, 这个问题简单,告诉别笑

    想知道I.MX6U和arm11 s3c6410 s3c2440等等几个处理器能力的比较关系,这个问题简单,告诉别笑
    发表于 12-24 18:29

    三星ARM11开发板mini6410用户手册

    Mini6410是一款十分精致的低价高品质一体化ARM11开发板,由广州友善之臂设计、生产和发行销售。它采用三星S3C6410作为主处理器,在设计上承袭了Mini2440精于心,简于形
    发表于 03-08 18:06 300次下载
    三星<b class='flag-5'>ARM11</b><b class='flag-5'>开发</b>板mini<b class='flag-5'>6410</b>用户手册

    s3c6410 开发板设计

    S3C6410开发板采用核心板加底板设计,核心板上集成了Samsung 533/667M CPU S3C6410(ARM1176JZF-S内核)、128M Mobile DDR和256
    发表于 04-29 15:25 0次下载
    <b class='flag-5'>s3c6410</b> <b class='flag-5'>开发</b>板设计

    S3C6410简介

    S3C6410简介,有需要的朋友可以下来看看
    发表于 08-23 16:46 0次下载

    如何选择适合产品开发S3C6410开发

    如何选择适合产品开发S3C6410开发板(硬件篇)
    发表于 08-23 16:46 12次下载

    S3C6410的u-boot分析与移植

    S3C6410的u-boot分析与移植
    发表于 10-31 14:44 28次下载
    <b class='flag-5'>S3C6410</b>的u-boot分析与移植

    S3C6410开发S3C-U-BOOT-1.1.6的详细资料免费下载

    本文档的主要内容详细介绍的是S3C6410开发S3C-U-BOOT-1.1.6的详细资料免费下载。
    发表于 09-29 09:48 31次下载

    基于ARM11的CES-EDU6410教学平台

    CES-EDU6410教学平台采用三星公司ARM1176JZF-S内核CPU S3C6410设计而成,结合基于S3C6410开发的各种主流产
    的头像 发表于 10-16 16:11 3323次阅读
    基于<b class='flag-5'>ARM11</b>的CES-EDU<b class='flag-5'>6410</b>教学平台

    S3C6410ARM11)嵌入式控制系统液晶显示驱动问题研究

    S3C6410ARM11)嵌入式控制系统液晶显示驱动问题研究(嵌入式开发工程师工作内容)-S3C6410ARM11)嵌入式控制系统液晶显
    发表于 07-30 14:51 16次下载
    <b class='flag-5'>S3C6410</b>(<b class='flag-5'>ARM11</b>)嵌入式控制系统液晶显示驱动问题研究

    Windows搭建ARM11裸机开发环境:Eclipse创建工程

    上一篇文章介绍了在Windows搭建ARM11裸机开发
    的头像 发表于 04-08 09:36 1229次阅读

    Windows搭建ARM11裸机开发环境:Eclipse+JLink调试代码

    之前,写过两篇文章,介绍了在Windows搭建ARM11裸机开发
    的头像 发表于 04-08 14:13 2140次阅读