一、环境介绍 宿主机: Redhat 6.3 32位 目标开发板型号: 友善之臂Tiny4412 目标开发板操作系统: 使用busybox制作,内核使用官方3.5内核。...blog.csdn.net/xiaolong1126626497/article/details/108980098 2.3 交叉编译curl [wbyq@wbyq work]$ tar xvf /mnt/hgfs/linux-share-dir.../configure --prefix=$PWD/_install --host=arm-linux CC=arm-linux-gcc CXX=arm-linux-g++ [wbyq@wbyq curl
/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/include/c++/4.6/bits/basic_string.h:270: error: unsupported...reloc 43 prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/include/c++/4.6/bits/...basic_string.h:270: error: unsupported reloc 43 prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6.../host/x86_64-linux-glibc2.11-4.6//x86_64-linux/include/c++/4.6/bits/basic_string.h:235: error: unsupported.../host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld ---- 在源码编译3h之后报的错误 Copying: out/target/common/obj
查看帮助: TINY4412 # ?...查看帮助: TINY4412 # ?...查看帮助: TINY4412 # ?...'; when booting a Linux kernel, 'arg' can be the address of an initrd image //传递参数的参数…”;当引导Linux...Uncompressing Linux... done, booting the kernel.
前言 Tiny4412开发是友善之臂推出的Android、Linux学习开发板,CPU采用三星的EXYNOS4412,32位芯片,属于Cortex-A系列,主频是1.5GHZ,可以运行ubuntu、Android5.0...、纯Linux等操作系统。...在Linux用户目录下创建一个目录: mkdir work/arm-linux-gcc -p 2. 将交叉编译器拷贝到Linux系统共享目录。再解压到arm-linux-gcc目录下。...学习基本用法 [wbyq@wbyq linux_2021]$ arm-linux-gcc app.c [wbyq@wbyq linux_2021]$ ls a.out app.c [wbyq@wbyq.../main.bin (1)查看原理图,查找LED的接线位置 tiny4412开发板是分两层设计的,一个核心板,一个底板,LED灯是焊接在核心板上面,原理图就得打开核心板这份。
前言 Tiny4412开发是友善之臂推出的Android、Linux学习开发板,CPU采用三星的EXYNOS4412,32位芯片,属于Cortex-A系列,主频是1.5GHZ,可以运行ubuntu、Android5.0...、纯Linux等操作系统。...按键编程 要完成程序开发,需要先搭建交叉编译环境,安装arm-linux-gcc编译器,上篇文章已经介绍了,这篇就不再重复。...2.1 查看原理图 tiny4412开发板有两个原理图,分别对应底板和核心板,按键是接在底板上,下面就分别打开底板、核心板原理图,找到按键具体的接线位置。
本地挂载方式1 这种放需要准备一张SD卡,然后需要利用官方光盘里提供的分区工具,对SD卡进行分区,再将内核、uboot、文件系统映像文件拷贝到SD卡上,再修改配置文件,设置启动的系统为Linux系统。...根文件系统映像制作需要用到make_ext4fs命令,这个工具在光盘里也有,是一个压缩包,解压到PC机Linux系统下就可以使用。...配置内核: # cp tiny4412_linux_defconfig .config 制作根文件系统的方式: make_ext4fs -s -l ...TINY4412 # fdisk -c 1 1024 1024 1024 TINY4412 # ext2format mmc 1:2 (2)打包PC机的rootfs文件系统 [wbyq@wbyq work...TINY4412 # saveenv TINY4412 # reset (5)本地方式下,使用NFS方式挂载NFS服务器的目录实现文件共享 [root@wbyq ]# ifconfig eth0 192.168.10.123
这篇文章就介绍如何使用BusyBox制作一个最小根文件系统,让Linux系统能够正常跑起来,能进入Linux命令行终端。...环境介绍 目标开发板: 友善之臂Tiny4412 Linux内核: 3.5 uboot版本: 2010.12 (2)....创建inittab cp busybox解压目录/examples/inittab /tiny4412/rootfs/etc/ [wbyq@wbyq rootfs]$ cp .....共享路径> ip=:::255.255.255.0::eth0:off init=/linuxrc console=ttySAC0 lcd=S702 执行示例: TINY4412...# save TINY4412 # reset (13).
本身算是个精简的Linux系统,主要是负责硬件的初始化和引导,本身带有一些工具,作为引导程序,常作为嵌入式设备的引导。当真正的系统开始运行的时候U-boot就把管理权限交了出去。...选择U-Boot的理由: ① 开放源码; ② 支持多种嵌入式操作系统内核,如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS, android; ③...TINY4412 # help ?...//随便设置一个环境变量 TINY4412 # setenv bootdelay ${timer} //引用环境变量 TINY4412 # save //保存环境变量...TINY4412 # cp 10000000 46000000 10 从起始地址10000000开始拷贝10个数据到46000000的地址处 TINY4412 # md.b 46000000
前言 根文件系统是Linux内核启动之后挂载的第一个文件系统,上篇文章里已经介绍过,如何使用busybox来制作根文件系统。...根文件系统支持从网络挂载和本地挂载两种方式: (1)如果是采用网络挂载就将路径设置为/dev/nfs,NFS是Linux下常用的网络文件系统,这种方式挂载一般是在系统开发阶段,方便修改调试代码,也就是将根文件系统放在...当前采用的开发板是友善之臂的Tiny4412,内核、uboot、交叉编译器都采用官方光盘自带的文件。...# saveenv TINY4412 # reset 2....# save TINY4412 # reset 重启之后开发板正常就会进入到Linux命令行:
]$ tar xvf /mnt/hgfs/linux-share-dir/x264-master.tar.bz2 [wbyq@wbyq tiny4412]$ cd x264-master/ [wbyq@...--target-os=linux --enable-gpl --extra-cflags=-I/home/wbyq/work/tiny4412/x264-master/_install/include...拷贝过程如下: [wbyq@wbyq tiny4412]$ ls ffmpeg-4.2.2 x264-master [wbyq@wbyq tiny4412]$ mkdir run_lib [wbyq@.../ffmpeg-4.2.2/_install --cross-prefix=arm-linux- --arch=arm --target-os=linux --enable-gpl --extra-cflags...ffmpeg_video.c -I /home/wbyq/work/tiny4412/ffmpeg-4.2.2/_install/include -L /home/wbyq/work/tiny4412
当前采用的开发板是友善之臂的Tiny4412,芯片是三星的EXYNOS4412,这款芯片出来有很长一段时间了,之前用在三星的S系列手机上的,最高主频是1.5GZ,稳定推荐主频是1.4GHZ,内核是三星提供的...demon,友善之臂在基础上完成了移植适配,也就是现在拿到的Tiny4412开发板内核,Linux 版本是3.5,不支持设备树。...驱动代码 3.1 驱动端代码 #include linux/init.h> #include linux/module.h> #include linux/ioctl.h> #include linux.../fs.h> #include linux/device.h> #include linux/err.h> #include linux/list.h> #include linux/errno.h...> #include linux/mutex.h> #include linux/slab.h> #include linux/compat.h> #include linux/spi/spi.h
前言 当前文章介绍如何在Linux系统下编写一个DS18B20温度传感器驱动,测量环境温度,并将DS18B20注册成字符设备,通过文件接口将温度数据传递给应用层。...当前使用的开发板是友善之臂的Tiny4412开发板,CPU是三星的Exynos-4412,主频是4核1.5GHZ,当前运行的Linux内核版本是3.5。...硬件接线图 Tiny4412开发板扩展GPIO口: 4....示例代码 #include linux/module.h> #include linux/kernel.h> #include linux/miscdevice.h> /*杂项字符设备头文件*.../ #include linux/fs.h> /*文件操作集合*/ #include linux/delay.h> /*延时函数*/ #include linux
这里还是以最常用的操作系统Linux来进行讲解 在Linux内核中,有非常多的子系统,用于管理很多设备,比如显示系统,输入子系统,音频子系统,电源管理子系统,时钟管理子系统等等,本节我们重点关注Linux...Linux系统为我们提供了这个输入系统操作相关的头文件:#include linux/input.h> 在这个文件中,我们可以找到这个结构体: 1//用于描述一个输入事件 2struct input_event...接下来我们再写一个案例,在Tiny4412平台上获取电容屏的坐标值。 触摸屏上报坐标值的事件属于绝对事件,也就是,触摸的坐标点X和Y会在屏幕的分辨率范围内上报一个绝对的坐标(X,Y)。...目录下,我们需要ft5x0x_tp这个文件,这个名字就是上面Android.mk里面对应的: LOCAL_MODULE := ft5x0x_tp Install: out/target/product/tiny4412.../system/bin/ft5x0x_tp 将这个文件拷贝到当前目录下: cp out/target/product/tiny4412/system/bin/ft5x0x_tp .
硬件环境 当前测试使用的开发板采用友善之臂的Tiny4412开发板,芯片是三星的EXYNOS-4412,最高主频1.5GHZ。...Tiny4412自带内核里的SPI设备端结构: SPI0的具体GPIO口位置: 3....linux/device.h> #include linux/err.h> #include linux/list.h> #include linux/errno.h> #include linux...用于接收虚拟地址*/ volatile unsigned int *W25Q64_GPBCON; volatile unsigned int *W25Q64_GPBDAT; /* 函数功能:W25Q64初始化 Tiny4412...---------------------------------------*/ struct spi_device *w25q64_spi_Device; /* 函数功能:W25Q64初始化 Tiny4412
本文所用开发板:tiny4412,当然也可以在jz2440上实现。 嵌入式中设备想要联网,无非就 有线和无线 两种方式。...首先从GitHub下载针对Tiny4412修改后的buidroot git clone -b board_tiny4412 https://github.com/hceng/buildroot.git...查看支持的board cd buildroot/ make list-defconfigs 得知tiny4412对应的配置文件: tiny4412_defconfig - Build for tiny4412...1.5 添加firmware 此时开发板启动Linux后,使用ifconfig wlan0 up启动无线网卡,提示: ieee80211 phy0: rt2x00lib_request_firmware...从这里可以看出,最后WIFI名字和密码,都会被保存到一个配置文件里,在Linux中,路径就是/etc/wpa_supplicant.conf。
手里还有一块韦东山 JZ2440,正点原子 imx6ull开发板,是 Linux 开发板。 后来工作遇到了安卓,想买安卓开发板,发现做安卓教程的比较少,或许是它真的太大太复杂。...能跑安卓的板子比如:tiny4412,RK3399,香橙派。 玩了嵌入式 Linux 以后,发现单片机真简单;后来接触了安卓,觉得还是 Linux 简单。...嵌入式有三个方向:单片机、嵌入式 Linux 、Android,系统复杂性依次提高。 这里没有什么高低贵贱,适合什么就用什么。单片机便宜,裸机不行就上 RTOS ,也可以满足需求。
当前文章就介绍如何在Linux下通过红外线接收模块,编写一个NEC协议的红外线解码驱动,解析遥控器传输过来的各种控制指令,完成对应的动作响应;驱动里用到了外部中断接收数据,通过定时器计算间隔时间完成解码...硬件环境 当前开发板采用友善之臂的Tiny4412,CPU是三星的EXYNOS4412,最高主频为1.5GHZ,Linux内核版本是3.5。...#include linux/kernel.h> #include linux/module.h> #include linux/interrupt.h> #include linux/gpio.h...> #include #include #include linux/delay.h> #include linux/workqueue.h
前言 如果大家做过linux系统移植、或者Linux相关开发,对根文件系统这个名词应该很熟悉,在搭建嵌入式开发环境过程中,移植bootloader,移植kernel制作根文件系统是必须要做3件事情。...BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件。...有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Linux 系统的自带的shell。...拷贝动态库 [wbyq@wbyq lib]$ cp ~/work/arm-linux-gcc/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi...创建inittab cp busybox解压目录/examples/inittab /tiny4412/rootfs/etc/ [wbyq@wbyq rootfs]$ cp ..
一、Linux工作队列与Linux小任务机制的区别 工作队列(work queue)是另外一种将工作推后执行的形式,tasklet(小任务机制)有所不同。...unsigned long delay); 32销毁队列: 33 void destroy_workqueue(struct workqueue_struct *wq); 4、Demo实现(基于Tiny4412...Linux3.5内核) 1#include linux/module.h> 2#include linux/kernel.h> 3#include linux/init.h> 4#include...linux/platform_device.h> 5#include linux/fb.h> 6#include linux/backlight.h> 7#include linux/err.h...> 8#include linux/pwm.h> 9#include linux/slab.h> 10#include linux/miscdevice.h> 11#include linux
前言 MPlayer是一款开源多媒体播放器,在主流的Linux、windows、Mac OS 都能运行,主要广泛用在Linux系统上; Mplayer不仅支持图形界面、也支持命令行播放。...开发板采用友善之臂的Tiny4412开发板,MCU是三星的EXYNOS4412,板子上接的LCD分辨率为800*480,帧缓冲驱动框架接口,Linux内核版本是3.5,系统不带图形界面,文件系统是采用busybox...交叉编译器采用arm-linux-gcc 4.5.1版本。.../configure CC=arm-linux-gcc --enable-fpm=arm --host=arm-linux --disable-shared --disable-debugging --...@xiaolong /]# cp /work/arm-linux-gcc/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root
领取专属 10元无门槛券
手把手带您无忧上云