0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

S3C6410學習筆記:Windows下搭建ARM11裸機開發(fā)環(huán)境

嵌入式那些事 ? 來源:嵌入式那些事 ? 2023-04-06 17:52 ? 次閱讀

之前寫過文章,描述在Linux環(huán)境下搭建ARM11的開發(fā)環(huán)境,有需要的可以在ARM11標簽中進行查找。

目前在學習ARM11的裸機編程,不想用虛擬機跑Linux來進行開發(fā),因為平時用的筆記本電腦的配置跑虛擬機還是有點困難(我的臺式機跑虛擬機還是沒問題的),現在講述一下如何在Windows中搭建ARM11的裸機開發(fā)環(huán)境,方便沒法使用虛擬機的朋友也能夠進行ARM11的開發(fā)。

系統(tǒng)環(huán)境:Windows 7 64位;

ARM11:Tiny6410;

1、交叉編譯工具 - GNU Tools ARM Embedded

使用這個交叉編譯工具就可以將程序編譯成能在ARM11上運行的文件。這里將GNU Tools ARM Embedded的bin目錄添加到系統(tǒng)的環(huán)境變量中,然后打開控制臺輸入:arm-none-eabi-gcc -v,查看環(huán)境變量配置是否成功,如果環(huán)境變量配置成功了,那么會正確的顯示arm-none-eabi-gcc的版本號:

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

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

2、MSYS

MSYS是一個小型的GNU環(huán)境,包括基本的bash,make等等。對裸機程序通過Makefile文件進行管理與編譯,并且通過MSYS的make來執(zhí)行Makefile文件的內容。

將msys/1.0/bin目錄下的路徑添加到系統(tǒng)的環(huán)境變量中,然后打開控制臺輸入:make -v,查看環(huán)境變量配置是否成功,如果環(huán)境變量配置成功了,那么會正確的顯示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$

在LED程序文件中,打開控制終端,然后執(zhí)行make命令來編譯LED程序:

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

將編譯好的led.bin文件通過友善之臂提供的MiniTools下載到ARM11板子中,就可以看到核心板的4個小燈在閃爍了。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9005

    瀏覽量

    366018
  • Linux
    +關注

    關注

    87

    文章

    11158

    瀏覽量

    208457
  • WINDOWS
    +關注

    關注

    3

    文章

    3509

    瀏覽量

    88199
  • 編譯
    +關注

    關注

    0

    文章

    646

    瀏覽量

    32737
  • 虛擬機
    +關注

    關注

    1

    文章

    897

    瀏覽量

    27960

原文標題:S3C6410學習筆記-Windows下搭建ARM11裸機開發(fā)環(huán)境(1):工具安裝

文章出處:【微信號:嵌入式那些事,微信公眾號:嵌入式那些事】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ARM11 S3c6410開發(fā)板+GPS模塊 完美實現

    要求的嵌入式系統(tǒng)應用場合。 UT-S3C6410開發(fā)板是性能穩(wěn)定、功能強大、高性價比的ARM11處理器開發(fā)板;專為消費類電子、工業(yè)控制、車載導航、人機界面、多媒體終端、POS機、行業(yè)P
    發(fā)表于 12-16 09:26

    STM32 vs S3C6410學用哪個比較好

    本人正在學習ARM開發(fā), 開始在淘寶上買了S3C6410ARM 11
    發(fā)表于 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的調試方法下
    發(fā)表于 05-19 17:29

    S3C6410裸機開發(fā)教程及源代碼

    `這是一個對于S3C6410比較全面的裸機開發(fā)教程,雖然是對應友善之臂的開發(fā)板,對于不是用友善之臂板子的也可以借鑒很多,看來友善之臂資料做得相當不錯啊。下面是目錄,可以看到內容很全面:
    發(fā)表于 12-22 09:30

    想知道I.MX6U和arm11 s3c6410 s3c2440等等幾個處理器能力的比較關系, 這個問題簡單,告訴別笑

    想知道I.MX6U和arm11 s3c6410 s3c2440等等幾個處理器能力的比較關系,這個問題簡單,告訴別笑
    發(fā)表于 12-24 18:29

    三星ARM11開發(fā)板mini6410用戶手冊

    Mini6410是一款十分精致的低價高品質一體化ARM11開發(fā)板,由廣州友善之臂設計、生產和發(fā)行銷售。它采用三星S3C6410作為主處理器,在設計上承襲了Mini2440精于心,簡于形
    發(fā)表于 03-08 18:06 ?300次下載
    三星<b class='flag-5'>ARM11</b><b class='flag-5'>開發(fā)</b>板mini<b class='flag-5'>6410</b>用戶手冊

    s3c6410 開發(fā)板設計

    S3C6410開發(fā)板采用核心板加底板設計,核心板上集成了Samsung 533/667M CPU S3C6410(ARM1176JZF-S內核)、128M Mobile DDR和256
    發(fā)表于 04-29 15:25 ?0次下載
    <b class='flag-5'>s3c6410</b> <b class='flag-5'>開發(fā)</b>板設計

    S3C6410簡介

    S3C6410簡介,有需要的朋友可以下來看看
    發(fā)表于 08-23 16:46 ?0次下載

    如何選擇適合產品開發(fā)S3C6410開發(fā)

    如何選擇適合產品開發(fā)S3C6410開發(fā)板(硬件篇)
    發(fā)表于 08-23 16:46 ?12次下載

    S3C6410的u-boot分析與移植

    S3C6410的u-boot分析與移植
    發(fā)表于 10-31 14:44 ?28次下載
    <b class='flag-5'>S3C6410</b>的u-boot分析與移植

    S3C6410開發(fā)S3C-U-BOOT-1.1.6的詳細資料免費下載

    本文檔的主要內容詳細介紹的是S3C6410開發(fā)S3C-U-BOOT-1.1.6的詳細資料免費下載。
    發(fā)表于 09-29 09:48 ?31次下載

    基于ARM11的CES-EDU6410教學平臺

    CES-EDU6410教學平臺采用三星公司ARM1176JZF-S內核CPU S3C6410設計而成,結合基于S3C6410開發(fā)的各種主流產
    的頭像 發(fā)表于 10-16 16:11 ?3240次閱讀
    基于<b class='flag-5'>ARM11</b>的CES-EDU<b class='flag-5'>6410</b>教學平臺

    S3C6410ARM11)嵌入式控制系統(tǒng)液晶顯示驅動問題研究

    S3C6410ARM11)嵌入式控制系統(tǒng)液晶顯示驅動問題研究(嵌入式開發(fā)工程師工作內容)-S3C6410ARM11)嵌入式控制系統(tǒng)液晶顯
    發(fā)表于 07-30 14:51 ?16次下載
    <b class='flag-5'>S3C6410</b>(<b class='flag-5'>ARM11</b>)嵌入式控制系統(tǒng)液晶顯示驅動問題研究

    Windows搭建ARM11裸機開發(fā)環(huán)境:Eclipse創(chuàng)建工程

    上一篇文章介紹了在Windows搭建ARM11裸機開發(fā)環(huán)
    的頭像 發(fā)表于 04-08 09:36 ?1097次閱讀

    Windows搭建ARM11裸機開發(fā)環(huán)境:Eclipse+JLink調試代碼

    之前,寫過兩篇文章,介紹了在Windows搭建ARM11裸機開發(fā)
    的頭像 發(fā)表于 04-08 14:13 ?2010次閱讀