在linux中进行arm交叉编译体验tiny6410裸机程序开发流程

Linux驱动开发:Tiny6410块设备驱动编程 然后,我们使用alloc_disk函数为设备分配内存,并进行一些必要的初始化配置,如注册块设备编号、设置设备的操作函数等。通过本文的指导,你可以编写一个简单的Tiny6410块设备驱动程序,并在Linux系统中使用该设备进行数据读写。此时,系统已经可以使用Tiny6410的块设备。在驱动程序的退出函数(blkdev_exit)中,我们进行了与初始化相反的操作,包括删除设备、释放内存、注销块设备编号等。这将从Tiny6410的块设备中读取10个扇区的数据,并将其保存在/tmp/output文件中。 阅读详情

在某鱼上找了一个友善之臂的Tiny6410开发板用来体验一下嵌入式开发。这次先体验一下裸机程序的开发流程,由于这个开发板比较老旧了,官方文档有很多过期的内容,所以记录一下整个过程。

1. 交叉编译器安装

按照光盘A中的文档《04- Tiny6410 Linux开发指南.pdf》的 1.3.5 节描述,用光盘中的 arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz 文件解压后运行命令 arm-linux-gcc -v 得到的结果是:

faund@faund-Virtual-Machine:/opt/FriendlyARM/toolschain/4.5.1/bin$ ./arm-linux-gcc
bash: ./arm-linux-gcc: No such file or directory
faund@faund-Virtual-Machine:/opt/FriendlyARM/toolschain/4.5.1/bin$ ./arm-none-linux-gnueabi-gcc
bash: ./arm-none-linux-gnueabi-gcc: No such file or directory
faund@faund-Virtual-Machine:/opt/FriendlyARM/toolschain/4.5.1/bin$ ./arm-none-linux-gnueabi-cpp
bash: ./arm-none-linux-gnueabi-cpp: No such file or directory
faund@faund-Virtual-Machine:/opt/FriendlyARM/toolschain/4.5.1/bin$ ./arm-none-linux-gnueabi-gcc
bash: ./arm-none-linux-gnueabi-gcc: No such file or directory
faund@faund-Virtual-Machine:/opt/FriendlyARM/toolschain/4.5.1/bin$ sudo ./arm-none-linux-gnueabi-gcc
[sudo] password for faund:           
sudo: unable to execute ./arm-none-linux-gnueabi-gcc: No such file or directory

原因应该是官方光盘使用的 Fedora 15 现在已经老旧,它使用的 Linux 内核 2.6.38 版本与我使用的 Linux mint 21.2 的 5.15.0 版本已经相差太远,其二进制可执行文件是不兼容的。

其实发行版中包含了 arm 的交叉编译器,使用下面的命令可以直接安装:

sudo apt install gcc-arm-linux-gnueabi

 安装完成之后,用 arm-linux-gnueabi-gcc -v 命令可输出如下所列内容的话,说明交叉编译器已经安装完成了。

faund@faund-Virtual-Machine:~$ arm-linux-gnueabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-linux-gnueabi-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/arm-linux-gnueabi/11/lto-wrapper
Target: arm-linux-gnueabi
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.3.0-1ubuntu1~22.04.1' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-libphobos-checking=release --without-target-system-zlib --enable-multiarch --disable-sjlj-exceptions --with-specs='%{mfloat-abi=hard:-march=armv7-a -mcpu=generic-armv7-a -mfloat-abi=hard}' --with-arch=armv5t --with-float=soft --disable-werror --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=arm-linux-gnueabi --program-prefix=arm-linux-gnueabi- --includedir=/usr/arm-linux-gnueabi/include --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04.1) 

2. 进行交叉编译

所谓交叉编译,就是在我们当前运行的 x86 架构电脑上的 Linux 中,为 arm 芯片编译二进制目标代码,这个目标代码包含了 arm 指令集的汇编代码。

按照官方DVD A的“/裸机程序/Linux平台下裸机程序开发指南”目录内《Linux平台下Tiny6410裸机程序开发指南.pdf》文件中第三节的说明对 1.led_s 例子进行交叉编译,由于使用了不同版本的交叉编译器,需要修改 Makefile ,使用新的交叉编译器中对应的命令。修改后的 Makefile 文件如下:

led.bin: start.o
        arm-linux-gnueabi-ld -Ttext 0x50000000 -o led.elf $^
        arm-linux-gnueabi-objcopy -O binary led.elf led.bin
        arm-linux-gnueabi-objdump -D led.elf > led_elf.dis
%.o : %.S
        arm-linux-gnueabi-gcc -o $@ $< -c

%.o : %.c
        arm-linux-gnueabi-gcc -o $@ $< -c 

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

然后运行 make 命令,输出结果如下:

faund@faund-Virtual-Machine:~/embeddedDev/bareDev/code/1.leds_s$ make
arm-linux-gnueabi-gcc -o start.o start.S -c
arm-linux-gnueabi-ld -Ttext 0x50000000 -o led.elf start.o
arm-linux-gnueabi-objcopy -O binary led.elf led.bin
arm-linux-gnueabi-objdump -D led.elf > led_elf.dis

很顺利的,得到了我们需要的裸机程序 led.bin

 3. 烧写裸机程序到开发板上

《Linux平台下Tiny6410裸机程序开发指南.pdf》文件中第三节中已经说明有 2 种方式将 bin 文件烧写到开发板上,这里采用它推荐的直接下载到 DRAM 的方式。需要 2 个步骤: 1) 准备一个带有 USB 下载功能 Superboot 的 SD 卡,2) 将 bin 文件下载到 DRAM 中并运行。

3.1 制作带有 USB 下载功能的 Superboot SD卡

根据 DVD A 上的文档 《03- Tiny6410刷机指南.pdf》中的说明先把 Superboot-6410.bin 文件用 SD-Flasher.exe 程序烧写到 SD 卡中,所有程序和文件都在光盘中,注意,有的光盘镜像中 Superboot-6410.bin 文件是有问题的。

我在烧写完成之后遇到了问题,从 SD 卡启动时,只显示 “Booting from SD”,等了10多分钟也没有后续输出,后来发现是光盘上的 Superboot-6410.bin 文件是有问题的,在友善之家的论坛中找到了一个文件,重新烧写后才能正常进入 Superboot。

如果遇到和我一样的问题,可以到下面这个链接去下载。

tiny6410从sd卡启动,总是Booting from SD| Linux技术交流区 - 友善之家 嵌入式开发板技术交流社区[size=2]如题,按照步骤来的,想从sd卡上按照bios, ..http://www.aiothome.net/read.php?tid-86547.html

做完上面步骤之后,参照《03- Tiny6410刷机指南.pdf》中 2.1.2 节说明,将光盘中的 images/FriendlyARM.ini 文件拷贝到 SD 卡中的 images 目录下,并且编辑 ini 文件,添加 USB-Mode = yes 项,我在接下来使用的文件内容如下:

#This line cannot be removed. by FriendlyARM(www.arm9.net)

USB-Mode = yes
LCD-Type = H43

CheckOneButton=No
Action=Null
OS= Linux

VerifyNandWrite=No

StatusType = Beeper| LED

#################### Linux #####################
Linux-BootLoader = Superboot-6410.bin
Linux-Kernel = Linux/zImage
Linux-CommandLine = root=/dev/mtdblock2 rootfstype=yaffs2 init=/linuxrc console=ttySAC0,115200
Linux-RootFs-InstallImage = Linux/rootfs_qtopia_qt4.img
Linux-RootFs-RunImage = Linux/rootfs_qtopia_qt4.ext3

################### Android ####################
Android-BootLoader = Superboot-6410.bin
Android-Kernel = Android/azImage
Android-CommandLine = root=/dev/mtdblock2 rootfstype=yaffs2 init=/linuxrc console=ttySAC0,115200 androidboot.console=s3c2410_serial0
Android-RootFs-InstallImage = Android/rootfs_android.img
Android-RootFs-RunImage = Android/rootfs_android.ext3

################### WindowsCE6 #################
WindowsCE6-Bootloader= Superboot-6410.bin
WindowsCE6-BootLogo = WindowsCE6\bootlogo.bmp
WindowsCE6-InstallImage = WindowsCE6\NK-i.bin
WindowsCE6-RunImage = WindowsCE6\NK-i.bin

#################### Ubuntu #####################
Ubuntu-BootLoader = Superboot-6410.bin
Ubuntu-Kernel = Ubuntu/uzImage
Ubuntu-CommandLine = root=ubi0:FriendlyARM-root ubi.mtd=2 rootfstype=ubifs  init=/linuxrc console=ttySAC0,115200
Ubuntu-RootFs-InstallImage = Ubuntu/rootfs_ubuntu-slc.ubi
Ubuntu-RootFs-RunImage = Ubuntu/rootfs_ubuntu.ext3

############### UserBin #################
UserBin-Image=WindowsCE/NK-i.nb0
userBin-StartAddress=50100000

弄好的 SD 卡插到开发板上,启动模式开关拨到 SD-BOOT 位置。开发板和电脑的串口线、USB线都连接好然后开机,Superboot 正常启动的情况下 LED1 会闪烁,如果开发板有屏幕,会有如下显示:

 串口控制台输出的内容如下:

 3.2 把 led.bin 写入开发板的 DRAM 并运行

由于“年久失修”,官方 DVD 文档中提到的使用友善之臂提供的 MiniTools 应用进行烧写的办法似乎已经没办法用了。在windows下即使安装了 MiniTools 的驱动,也会一直是“Board is not connected”状态无法使用;Linux下因为需要 QT4 的支持,而目前的发行版普遍支持 QT5 以上版本了,我就没有照这个继续折腾了。还是回到官方的 DNW 软件来做本次体验,所以后面的做法并没有按照官方 DVD 的文档进行。

在开发板正常引导了 superboot 之后,因为已经用 USB 连接了电脑,所以电脑上出现了一个新的设备,但是在 windows 10 下,这个设备的驱动程序并没有自动安装好:

 原因是老旧的驱动没有签名,参考下面链接:

关于win10装不上dnw驱动的问题_新版dnw驱动解决win不兼容_陆少ye的博客-优快云博客

【dnw驱动数字签名】解决Win10安装USB驱动时,"INF不包含数字签名信息"_aoxiang_ywj的博客-优快云博客

 先要按照下面步骤关闭 windows 10 的强制验证驱动签名

1. “开始”菜单 ->“设置”->“更新和安全”->“恢复”里的“立即重启”;
2. 电脑这时候会重启,进入一个设置界面,等待出现新界面;
3. 新界面中选取“疑难解答”->“高级选项”->“启动设置”里点击“重启”;
4. 机器重启后就有一些选项了,第七个就是禁止验证驱动签名,按下数字键“7”就可以了,关闭驱动签名完成;

电脑启动后,到下面的地址下载 DNW 驱动程序:

win7-64位-DNW-USB驱动-FriendlyArm  tiny6410 已签名| Linux技术交流区 - 友善之家 嵌入式开发板技术交流社区[b][color=#ff0000][size=5][i] 折腾了几天,终于把 ..http://www.aiothome.net/read.php?tid-80424.html更新之前带有感叹号的 SEC S3C6400X Test B/D 设备驱动:

 选取浏览我的电脑以查找驱动程序:

 

 找到刚才下载的 DNW 驱动程序,inf 文件在 secbulk64.zip 包内的 secbulk64\inf64 目录中

选好了 secbulk.inf 文件之后,会出现下面显示,其中显示了 S3C2440 字样,不用管它,应该是通用的驱动,或者是社区驱动作者的笔误,直接点击下一步;

 

在下面的安全警告窗口中点击“始终安装以驱动程序软件”,因为已经关闭了强制验证驱动签名,才有这个机会来安装没有签名的驱动程序,不然会直接告知驱动程序安装失败;

 安装结束之后,驱动程序就出现在下图这个位置:

 到下面这个链接下载 DNW 软件:

DNW软件改进,添加了快捷按键,增强了界面显示等| 相关资料下载及使用技巧 - 友善之家 嵌入式开发板技术交流社区DNW软件改进,添加了快捷按键,增强了界面显示等http://www.aiothome.net/read.php?tid-3531.html运行这个 DNW 软件,注意到已经有显示“USB:OK”,说明已经与开发板 Superboot 正常连接了;

 在开发板的串口控制台中按 d 键,即命令开发板 “Download and Run an Absolute User Application”,下载并运行裸程序。

此时串口控制台显示正在等待 DNW 传输数据,在 DNW 软件上按 F7,然后选择之前交叉编译好的 led.bin 文件之后,DNW会显示数据传输用时,串口控制台会显示 “Download Done.” 等信息。

串口控制台显示“Run Absolute User Application...”,现在开发板已经在运行我们的裸机程序了,可以观察到开发板上 LED1 到 LED4 这 4 个 LED 灯一起在闪烁了,效果可以看下面的视频: 

友善之臂运行裸程序示例 led.bin

4. 结论

友善之臂的 Tiny6410 开发板虽然已经老旧了,官方很多支持也已经“年久失修”,但是在目前还是可以正常进行嵌入式的开发体验的,走通了裸机程序的各个环节之后,可以先进行裸机程序的深入研究,然后再慢慢可以去体验各种操作系统的嵌入式编程。

QGIS编译(跨平台编译)023:zstd编译(Windows、Linux、MacOS环境下编译) QGIS编译;zstd跨平台编译(Windows、Linux、MacOS环境下编译) 阅读详情

相关推荐

OSG第三方库编译之二十七:zstd编译(Windows、Linux、Macos环境下编译)

OSG编译;第三方库;跨平台编译;zstd编译(Windows、Linux、Macos环境下编译)

LuckyHanMo的博客 2305

linux课程设计tiny6410,linux系统移植到tiny6410(简易过程)

今天学习了linux移植到开发板的,跟大家分享一下首先搭建linux环境有三个步骤,编译引导(bootloader),编译和移植内核,编译和移植根文件系统,话不多说,马上开始实验。开发环境;ubuntu10.4+win7开发板:tiny6410准备工具:minicom minitools SD-Flasher注:下面用的工具资料我会上传在空间上一,编译boolloder(下面用...

weixin_31434215的博客 425

建立ARM开发环境:ARM Linux Qt开发

要将此示例编译为ARM架构的应用程序,请按照上述步骤设置Qt项目,并将此代码添加到项目中。然后,使用Qt开发工具构建项目,并将生成的可执行文件复制到目标设备上。通过按照上述步骤建立ARM Linux Qt开发环境,您可以开始开发ARM架构的应用程序。Qt提供了丰富的工具和库,使得在ARM平台上创建功能强大的应用程序变得更加容易和高效。首先,我们需要安装ARM交叉编译工具链,以便在主机上编译ARM架构的应用程序。在本文中,我们将详细介绍如何建立ARM Linux Qt开发环境,以便开发ARM架构的应用程序。

KwmGroovy的博客 691

tiny6410烧录

#烧录 参考: 03- Tiny6410刷机指南.pdf 假设拿到的Tiny6410开发板没有提前下载任何程序,包括Bootloader. ##Bootloader - Superboot Superboot是FriendlyARM公司提供的Bootloader(非开源),提供USB下载功能。 只要烧写了Superboot, 就可以通过USB下载内核、文件系统到板子的Flash

空山新雨后 1419

Tiny6410 Linux开发全攻略

Linux是一个成熟且功能强大的开源操作系统,它广泛应用于服务器、桌面电脑、嵌入式设备等多个领域。Linux的核心是内核,它负责管理系统的硬件资源,提供与硬件交互的接口,同时也提供了一系列基本的文件操作、网络通信等服务。Tiny6410是基于ARM11内核的开发板,它提供了一个性能均衡且功能丰富的硬件平台,适用于学习、研究和产品原型设计。它集成了多种接口和外设,支持广泛的扩展模块。

weixin_42360846的博客 1124

CAN XL和10Base-T1S全对比:在区域架构中如何选择最适合的车载通信协议?

本文深入对比了CAN XL和10Base-T1S在车载网络架构中的性能差异,通过实测数据和典型应用场景分析,为区域架构设计提供选型指南。重点探讨了带宽、延迟、成本等关键指标,帮助工程师在ADAS传感器部署和车身控制网络优化中做出明智选择。

pear55的博客 595

[笔记]:Tiny6410裸机点亮led灯

折腾了一上午终于能在Tiny6410上点亮4个led灯。第一次在嵌入式设备上写程序,遇到了很多问题。下面记录下所遇到的问题和解决方法。   1. 首先遇到的问题是,使用的Tiny6410板子的Nand Flash上已经被烧写了一个Linux操作系统。为了将Nand Flash清空(格式化),使Tiny6410板子成为一个方便学习的裸机。那么如何格式化Nand Flash呢? 方法:首先在SD

黄小蛙的修炼 2266

CentOS7下OpenVPN Access Server 2.12.0安装与智能分流配置指南

本文详细介绍了在CentOS7系统上安装OpenVPN Access Server 2.12.0并进行智能分流配置的完整指南。从环境准备、核心安装到智能分流策略的深度配置,提供了经过验证的优化方案和故障排查技巧,帮助用户实现高效的VPN网关部署和流量管理。

weixin_30546189的博客 290

tiny6410裸机实验第0章--------------开发环境的搭建(交叉编译工具链制作)

【说明】                我们平常在linux上写C,编译工具大多用GCC,由于机器只认识机器码,所以虚拟机linux上的GCC 只能把C编译成相应CPU(一般是X86)的机器码,但是我们的开发板的CPU是 ARM, ARM的机器码和X86的完全不一样,在ARM眼里,X86的机器码就是一堆乱七八糟的01010101,所以我们就无法用虚拟机上自带的GCC编译出来的可执行文件在AR

u013476840的专栏 1360

构建多节点AI代理网络:OpenClaw协同框架与实战部署指南

在分布式系统与AI代理技术领域,多节点协同是提升智能体能力与扩展性的核心挑战。其原理在于通过设计清晰的通信协议与数据同步机制,使分散的智能体能够共享状态、知识与技能,从而实现1+1>2的群体智能。这一技术价值在于突破了单点AI的能力上限,为构建复杂、鲁棒且可扩展的自动化系统提供了基础。典型的应用场景包括跨设备任务编排、企业级工作流自动化以及大规模AI代理集群的管理。本文聚焦于OpenClaw这一开源AI代理框架,深入探讨如何利用模块化设计(如网状网络与任务控制中心)实现记忆共享与统一调度,解决多网关协同中的

weixin_42521032的博客 298

Fiori Elements Analytical List Page 标题区配置全攻略:从变体、过滤模式到 UI.KPI 的工程化落地

ALP标题区是Fiori Elements Analytical List Page的核心交互区域,承担变体管理、过滤模式切换、KPI展示等关键功能。本文系统解析了标题区的组成结构、可用能力及工程实现要点,包括:1)标题区包含过滤类型切换、全局KPI、变体管理等交互元素;2)详细说明视觉过滤与紧凑过滤的同步规则及实现方式;3)介绍OData V2下通过UI.KPI注解配置标题区KPI的方法;4)提供manifest.json配置示例和CDS注解写法。文章还对比了V2与V4版本的差异,为ALP开发提供实用指导

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 245

裸机点亮led灯

折腾了一上午终于能在Tiny6410上点亮4个led灯。第一次在嵌入式设备上写程序,遇到了很多问题。下面记录下所遇到的问题和解决方法。       1. 首先遇到的问题是,使用的Tiny6410板子的Nand Flash上已经被烧写了一个Linux操作系统。为了将Nand Flash清空(格式化),使Tiny6410板子成为一个方便学习的裸机。那么如何格式化Nand Flash呢?  ...

hehe198610的博客 455

CKA-CN考试之路----16

所以结合本题,如果有多个文件中都存在同一个值,务必统一,或者修改最后一个次序的文件。中以不同的文件名来区分不同目的的配置会更有利于阅读.就像本题中的。但当有多个文件中存在同一个参数的不同值,最后会生效哪个值?中,但随着配置越来越多不怎么容易阅读.当多个文件同时存在一个参数,但值又不同。有时候我们会将所有内存参数全部写在。确认服务状态(2个红框中的内容)

Q先生 300

ARM开发平台搭建与简单Led例子

ARM开发平台搭建与简单的Led实例

郑斯达的博客 618

DB文件在编程中的作用及示例代码

通过使用DB文件,我们可以实现数据的持久化存储,并能够高效地进行数据的增删改查操作。在本文中,我们以SQLite数据库为例,演示了如何使用Python语言创建和操作DB文件的示例代码。在实际的编程中,我们可以根据具体的需求和使用的数据库系统来进行更复杂的操作和优化。通过使用DB文件,我们可以实现数据的持久化存储,确保数据在程序关闭后也能被保留,并且能够高效地进行数据检索和更新。在本文中,我们将探讨DB文件的作用,并提供一些示例代码展示如何在编程中使用DB文件。上述代码中,我们使用SQLite提供的。

CodeSpark的博客 1821

IPCP(IP Control Protocol,IP控制协议)

IPCP(IP Control Protocol,IP控制协议)

天赐好车的博客 756

idea6410裸调led蜂鸣器的方法

平台:idea6410 编译器:arm-linux-gcc-4.3.2 当我们没有jtag等工具是也还是可以裸机调试的,不过的借助uboot; 下面是源码及步骤: 1、start.S .text .global _start _start:     ldr r0,=0x7e004000     //关看门狗     mov r1,#0x0     str r1,

longtian635241的专栏 946

NAS新玩法!豆瓣与迅雷结合,轻松实现自动下载电影自动追剧功能

NAS新玩法!豆瓣与迅雷结合,轻松实现自动下载电影自动追剧功能

XiaoqiangClub的博客 6388

嵌入式Linux与Android驱动开发实战:从设备树到HAL的完整链路

在操作系统与硬件交汇的领域,设备驱动是连接芯片寄存器与用户应用的关键桥梁。从Linux内核的字符设备、设备树配置,到Android系统的HAL、JNI与Binder通信,一条完整的数据链路决定了硬件能力能否高效、安全地服务于上层应用。理解这套原理,不仅能够掌握驱动开发的核心技术价值,也能在物联网、智能终端、车机系统等场景中解决真实工程问题。本文以嵌入式Linux与Android驱动开发实战项目为主线,梳理从项目选型、内核驱动编写、设备树适配,到Android系统层封装与调试排错的全过程,帮助开发者构建可迁移

weixin_34109408的博客 224

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

嵌入式:ARM嵌入式系统开发流程概述

在宿主机上编译好目标代码后,通过宿主机到目标机的调试通道将代码下载到目标机,然后由运行于宿主机的调试软件控制代码在目标机上运行调试。软件模拟环境也称为指令集模拟器IIS(Instruction Set Simulator),在很多时候为保证项目进度,硬件和软件开发往往同时进行,这时作为目标机的硬件环境还没有建立起来,软件的开发就需要一个模拟环境来进行调试。开发计算机一般称宿主机,嵌入式设备称为目标机,在宿主机上编译好的程序,下载到目标机上运行,交叉开发环境提供调试工具对目标机上运行的程序进行调试。

timerring的博客 5431

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

将windows下编写的QT代码在arm开发板(imx6ull)上运行

一开始我在开发板上运行计时器,上边的汉字和数字全都不显示,所以就找各种解决办法,但是全没用,最后看到上边设置开发板环境变量的时候会设置export QT_QPA_FONTDIR=/usr/share/fonts ,这指定了字体的文件夹,所以把下载的字体移动到这个文件夹就好了,我下载的是文泉驿字体,字体和代码都在这个仓库里(https://github.com/guoyongjian111/Timer)3 /home/book/tslib/tslib-arm/lib 为tslib相关库文件路径。

m0_61738650的博客 8249

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

嵌入式bootloader开发之一(Tiny 6410)

在看尚观发布的嵌入式bootloader开发视频,听起来感觉还行,都基本会,但手里面只有友善之臂TIny6410开发板,还好这个开发板上已经有移植好的u-boot,而且SOC和视频上所说的差不多,一个是2410,一个是6410.只是后者是基于ARM11,而前者是比较老的ARM9. 首先搭建开发环境,centos6.4x64版本,系统相对比较新 minicom安装:yum -y inst

jefby的专栏 1755

【一、搭建通用Arm平台的QT交叉编译环境】

arm平台的QT交叉编译环境搭建

anmo_moan的博客 9972

Tiny6410裸机开发笔记(一)汇编点亮LED

开发版信息 CPU: S3C6410 RAM:128MB NAND: 256MB(SLC) ID:ECDA1095 Touch Device: 1-wire LCD Type: S70 1. 查阅原理图 Tiny6410 板上提供了 4 个可编程用户 LED,原理图如下: LED1,2,3,4 分别使用的 CPU 端口资源为GPK_4,5,6,7 2. 程序编写 2.1 Start.S 由原理图可知,点亮Tiny6410 的4 个LED 需如下2 个步骤: 把外设的基地址告诉CPU;对于6410 来说,

fei.wan的博客 731

Tiny6410 老板子修复记录

Tiny6410 老板子修复记录

maybemse777的专栏 560
上一篇: Ubuntu Server 20.04 上用命令行创建到机房内网的专用连接
下一篇: pyecharts 输出空白不显示图形的解决办法
found
博客等级 码龄25年 58粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值