200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > linux下s3c2440开发板 SAMSUNG S3C2440 ARM LINUX 开发板 上手初体验 --开发环境搭建

linux下s3c2440开发板 SAMSUNG S3C2440 ARM LINUX 开发板 上手初体验 --开发环境搭建

时间:2019-02-15 18:26:39

相关推荐

linux下s3c2440开发板 SAMSUNG S3C2440 ARM LINUX 开发板 上手初体验 --开发环境搭建

1,linux开发环境搭建

2,程序测试

easyOpentag驱动安装,打开连接,选择ARM-linux

1,环境搭建

我的系统版本

root@ubuntu:~#lsb_release-a

NoLSBmodulesareavailable.

DistributorID:Ubuntu

Description:Ubuntu14.04.3LTS

Release:14.04

Codename:trusty

root@ubuntu:~#

我使用的mirros

root@ubuntu:~#cat/etc/apt/sources.list

debhttp://mirrors./ubuntutrustymainuniverserestrictedmultiverse

debhttp://mirrors./ubuntutrusty-securitymainuniverserestrictedmultiverse

debhttp://mirrors./ubuntutrusty-updatesmainuniverserestrictedmultiverse

debhttp://mirrors./ubuntutrusty-backportsmainuniverserestrictedmultiverse

deb-srchttp://mirrors./ubuntutrustymainuniverserestrictedmultiverse

deb-srchttp://mirrors./ubuntutrusty-securitymainuniverserestrictedmultiverse

deb-srchttp://mirrors./ubuntutrusty-updatesmainuniverserestrictedmultiverse

deb-srchttp://mirrors./ubuntutrusty-backportsmainuniverserestrictedmultiverse

安装基本开发包

root@ubuntu:~#apt-getupdate&&apt-getinstall-ybuild-essentialbisonflexmanpages-dev

root@ubuntu:~#echo$?

0

安装arm-linux-gcc

解压arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2来自韦东山教学光盘

tarxfarm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2

安装sudoapt-getinstalllsb-core

否则可能出现Nosuchfileordirectory

root@ubuntu:~/leds#arm-linux-objcopy

bash:/home/chunli/gcc-3.4.5-glibc-2.3.6/bin/arm-linux-objcopy:Nosuchfileordirectory

更改系统PATH

chunli@ubuntu:~$sudovim/home/chunli/.bashrc

exportPATH=$PATH::/home/chunli/gcc-3.4.5-glibc-2.3.6/bin/

看看我的系统编译环境搭建好了

chunli@ubuntu:~$arm-linux-gcc-v

Readingspecsfrom/home/chunli/gcc-3.4.5-glibc-2.3.6/bin/../lib/gcc/arm-linux/3.4.5/specs

Configuredwith:/work/tools/create_crosstools/crosstool-0.43/build/arm-linux/gcc-3.4.5-glibc-2.3.6/gcc-3.4.5/configure--target=arm-linux--host=i686-host_pc-linux-gnu--prefix=/work/tools/gcc-3.4.5-glibc-2.3.6--with-float=soft--with-headers=/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/include--with-local-prefix=/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux--disable-nls--enable-threads=posix--enable-symvers=gnu--enable-__cxa_atexit--enable-languages=c,c++--enable-shared--enable-c99--enable-long-long

Threadmodel:posix

gccversion3.4.5

chunli@ubuntu:~$

编写一个点亮LED的程序:

写一个点亮JZ2440开发板的一个汇编小程序

JZ2440开发板:

从JZ2440v2_sch.pdf中可以看出

nLED_2 上拉到3.3V

nLED_2 另一脚是接在GPF5 这个IO功能引脚上

查S3C2440官方手册

GPFCON 的地址是 0x56000050 ,此寄存器的值设为 0x00000400 配置GPF5这个引脚为输出

GPFDAT 的地址是 0x56000054 控制GPF5输出低电平

chunli@ubuntu:~/hardware$mkdirmy

chunli@ubuntu:~/hardware$cdmy/

chunli@ubuntu:~/hardware/my$vimled_on.S

@******************************************************************************

@File:led_on.S

@功能:LED点灯程序,点亮LED1

@******************************************************************************

.text

.global_start

_start:

LDRR0,=0x56000050@R0设为GPBCON寄存器。此寄存器用于选择各引脚的功能:是输出、是输入、还是其他

MOVR1,#0x00000400@设置为输出引脚

STRR1,[R0]@设置GPF5为输出口,位[10:9]=0b01

LDRR0,=0x56000054@R0设为GPBDAT寄存器。此寄存器用于读/写端口B各引脚的数据

MOVR1,#0x00000000@此值改为0xFFFFFFFF,可让LED2熄灭

STRR1,[R0]@GPB5输出0,LED1点亮

MAIN_LOOP:

BMAIN_LOOP

编写Makefile文件

chunli@ubuntu:~/hardware/my$vimMakefile

led_on.bin:led_on.S

arm-linux-gcc-g-c-oled_on.oled_on.S

arm-linux-ld-Ttext0x0000000-gled_on.o-oled_on_elf

arm-linux-objcopy-Obinary-Sled_on_elfled_on.bin

clean:

rm-fled_on.binled_on_elf*.o

编译

chunli@ubuntu:~/hardware/my$make

arm-linux-gcc-g-c-oled_on.oled_on.S

arm-linux-ld-Ttext0x0000000-gled_on.o-oled_on_elf

arm-linux-objcopy-Obinary-Sled_on_elfled_on.bin

没有报错

chunli@ubuntu:~/hardware/my$echo$?

0

chunli@ubuntu:~/hardware/my$ll

-rwxrwxr-x1chunlichunli36Apr1222:20led_on.bin*

-rwxrwxr-x1chunlichunli34144Apr1222:20led_on_elf*

-rw-rw-r--1chunlichunli1412Apr1222:20led_on.o

-rw-rw-r--1chunlichunli1035Apr1222:19led_on.S

-rw-rw-r--1chunlichunli218Apr1222:20Makefile

把led_on.bin程序传到Windows平台,

FTD2XX.dll

oflash.exe

led_on.bin

放在一起就可以

运行oflash.exe小程序,

D:\ARM嵌入式Linux\my>oflash.exe

+---------------------------------------------------------+

|FlashProgrammerv1.|

|OpenJTAGisaUSBtoJTAG&RS232toolbasedFT2232|

|ThisprogrammersupportsbothofS3C24X0&S3C6410|

|Author:Email/MSN(thisway.diy@),QQ(17653039)|

+---------------------------------------------------------+

Usage:

1.oflash,runwithcfg.txtorprompt

2.oflash[file],write[file]toflashwithprompt

3.oflash[-fconfig_file]

4.oflash[jtag_type][cpu_type][flash_type][read_or_write][offset][file]

Can'topencfg.txt,youshouldfollowtheprompt

SelecttheJTAGtype:

0.OpenJTAG

1.DongleJTAG(parallelport)

2.WigglerJTAG(parallelport)

Enterthenumber:0

SelecttheCPU:

0.S3C2410

1.S3C2440

2.S3C6410

Enterthenumber:1

device:4"2232C"

deviceID:0x14575118

SerialNumber:FTSht3gzA

Description:USB<=>JTAG&RS232AS3C2440detected,cpuID=0x0032409d

[MainMenu]

0:NandFlashprog1:NorFlashprog2:MemoryRd/Wr3:Exit

Selectthefunctiontotest:0

Enterthefilename:led_on.bin

[NANDFlashJTAGProgrammer]

Scannandflash:

Device0:NAND256MiB3,3V8-bit,sectorsize128KiB

Totalsize:256MiB

0:NandFlashProgram1:NandFlashPrintBlkPage2:Exit

Selectthefunctiontotest:0

[NANDFlashWritingProgram]

Sourcesize:0x24

Availabletargetblocknumber:0~2047

Inputtargetblocknumber:0

targetstartblocknumber=0

targetsize(0x20000*1)=0x20000

STATUS:

Ep

D:\ARM嵌入式Linux\my>

等5秒,开发板的小灯亮起

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。