- 博客(33)
- 资源 (14)
- 收藏
- 关注
原创 Yocto i.MX6 (TQIMX6) (04) : 使用mjpg-streamer做一个WebCam Server
libjpeg的编译下载后直接对configure指定即可。或者使用Yocto编译,参考我的其他与Yocto相关博文。mjpg-server的编译mjpg-streamer已经很老了,且sourceforge中的下载文件,默认是deb格式的,因此需要找到对应的源代码下载地址:http://sourceforge.net/projects/mjpg-streamer/files/mj
2015-12-26 19:02:28 3029
原创 Yocto tips (19): Yocto SDK Toolchian的使用
在使用之前需要先source env,导入各种环境变量:source ../qt5_sdk/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi然后我们可以查看一下bash的env了,下面是多出来的一些env:declare -x AR="arm-poky-linux-gnueabi-ar"declare -x ARCH
2015-12-23 17:03:41 8960 6
原创 Yocto tips (18): Yocto SDK Toolchian中静态库的添加
Toolchian中静态库的添加没有静态库,是无法静态编译应用程序的,因此,为了方便,还需要在SDK中添加静态库,例如libc。这个特性在只需要开启即可,在local.conf中添加一行:SDKIMAGE_FEATURES_append = "staticdev-pkgs"Toolchian中静态库的验证然后重新build SDK,并安装SDK之后,我们可以验证其是
2015-12-23 16:32:30 5961 1
原创 Yocto tips (16): Yocto 制作SDK分发Toolchain 脱离Yocto环境开发
Yocto中SDK有两种:只有Toolchain,或者Toolchain+某类GUI特性有针对某个Distribution的SDK,即含有Toolchian也含有这个Distrbutition特殊的文件下面分别说明。第一类这类的软件包有如下这些:其实就是两类:meta-toolchainmeta-toolchain-qt/qte/qt5后
2015-12-23 16:22:39 11833 2
原创 Yocto tips (17): Yocto License问题:restricted license not whitelisted in LICENSE_FLAGS_WHITELIST
Yocto中可以配置一个Distrbution的License,然后所有的软件包,都需要符合这个license才可以被shipped到image中,如果我们需要使用违反此license的软件包,那么就需要额外配置。例如,在bitbake编译vlc的时候出现下面的错误log:$ bitbake vlcParsing recipes: 100% |######################
2015-12-23 15:53:30 6713
原创 Yocto tips (9): Yocto 软件包的下载地址在哪
一般而言,可以使用Yocto tips (5): Yocto如何更改source code的下载与git clone地址中提到的方法,但是有的时候一些地址是在bb文件include的文件中,而inc文件又可能层层包含,查找比较繁琐,因此直接到env中查找比较快。例如要找到imx kenrel的fetch地址可以使用下面命令:bitbake -e linux-imx | grep ^SRC_
2015-12-23 15:04:55 5019
原创 Yocto tips (10): Yocto hellworld 添加一个软件包
Yocto中一个软件包是放在bb文件中的,然后很多的bb文件集成一个recipe(配方),然后许多的recipe又组成一个meta layer,因此,要添加一个包其实就是在recipe下面添加一个bb(bitbake配置文件)。下面使用helloworld作为一个例子。clone bb文件首先是进入到一个recipe目录下,例如下面就是到了recipes-graphics:$ pwd
2015-12-23 09:43:20 12192 11
原创 Yocto tips (15): Yocto中的包管理器
使用包管理器在local.conf中使能即可:然后编译后就会有rpm包了:配置文件服务器可以使用ngix和apache,但是我们也可以只用使用python:python -m SimpleHTTPServer打开浏览器可以看到:在机器上面查看包的statussmart status在机器上面配置channel
2015-12-22 16:11:16 8356 1
原创 Yocto tips (14): Yocto中编译链的配置变更(tuning)
这个在我们自己编译toolchain以及针对不同的硬件自己调整toolchain的时候用得多。变更方法也很简单,只需要在poky对应的配置查找一个合适的即可。例如针对armv7而言,我们可以到下面文件查找一个合适的来使用:将自己选择好的写入到local.conf中:
2015-12-21 22:44:26 5340
原创 Yocto tips (13): Yocto 查看软件包的依赖关系
查看一个文件包的依赖,我们可以使用图形化来查看,下面是一些官方说明:例如我们要查看weston的依赖:bitbake --ui=depexp -g weston或者 bitbake -g -u depexp weston这个会列出不同的依赖,例如中间的是编译时候需要依赖的东西,结果如下:
2015-12-21 22:37:03 6359
原创 Yocto i.MX6 (TQIMX6) (03) : wifi网卡的相关工具wpa_supplicant与dhcp
加密与认证无线网卡驱动起来之后,还需要在用户态的一些程序支持,从而可以寻找热点并连接热点,访问网络。wifi连接时候的有出于两个方面的考虑:连接认证传输数据的加密出现了不同的标准,这些认证/加密常见的有下面这些:open(即不加密)WEP(WEP)WPA(TKIP)WPA2(AES)加密认证工具而针对不同的认证/加密就有不同的软件来辅助我们wifi设
2015-12-21 22:24:34 5649
原创 Yocto tips (12): 使用Yocto帮组我们寻找难找的固件与固件放置路径
有很多的硬件需要firmware才能工作,而这些firmware需要不仅仅需要找到,还需要放置到正确的位置,一般这个位置是/lib/firmware下面,但是很多也不尽然。手动去查找这些固件,容易出现遗漏或者混淆,也有可能是年久不匹配了的固件,例如在我前面的博客中:Yocto i.MX6 (TQIMX6) (02) : USB Wifi (TP-Link WN821N等设备)AR9170的Li
2015-12-21 21:15:36 3027
原创 Yocto i.MX6 (TQIMX6) (02) : USB Wifi (TP-Link WN821N等设备)AR9170的Linux内核支持与固件使用
说明固件的下载见博客末尾。Wifi模块有一个TP-Link的WN821N的USB无线网卡,查到UbuntuPC上面用lsusb看了看:内核支持在内核中搜索lsusb输出的设备VID与PID,可以看到是有支持的,直接在内核中配置即可:这个是Linux社区对这个USB Wifi的支持,在这个Menuconfig选项的help中的网站里面很多东西都已经无法
2015-12-21 11:09:42 3283
原创 Yocto tips (11): Yocto如何往最终的rootfs中添加软件
在Yocto中如果我们期望在rootfs中添加一些软件,例如可能是bash,可能是lsusb等,那么,我们可以有两种方法:手动添加,一个个文件的拷贝在bb文件中添加安装项目,让Yocto自动帮助我们添加第一种方法需要手动将软件包的所有文件以及依赖都一个个添加进去,耗时耗力且易错,因此使用第二中方法比较合适。Yocto中Rootfs中添加软件包的步骤找到打包roo
2015-12-21 10:34:24 18708 2
原创 Yocto tips (8): Yocto 如何加快软件包的下载 如何只下载所有需要的软件包而不编译
加快下载Yocto中下载是最耗时的,因此我们可以尽可能的开启最多的并行数量。对此,我们可以在local.conf中将并行数目调大,例如我的CPU 是E3-1230 v2, 8核,所以我可以开启16个线程来下载,因为我们的网速慢,所以其实这些下载操作并非CPU密集型任务,很多包也很小,所以同时IO也不密集,因此可以适当调大:效果如下:下载所有需要的软件包而不编译有
2015-12-20 13:57:53 8065
原创 Yocto tips (7): Yocto Bitbake的clean与cleanall以及cleansstate的区别
Yocto中对于不同的Package,有不同的task,即可以执行不同的操作,有一些是所有包共通的,例如clean,build等。我们可以使用下面命令来查看一个包都有哪些可执行的task:bitbake Package -c listtasks图示:我们可以从里面看到clean与cleanall以及cleansstate的区别。
2015-12-20 13:46:36 27800 6
原创 Yocto tips (6): Yocto中如何共享已经下载的文件
Yocto的下载耗时可能会超过编译的时间,因此大家都希望下载一次后大家都用共用下载好了的文件,而不要再去下载。Yocto中所有下载了的以及git clone的文件都放在环境变量DL_DIR指示的目录下,这个目录默认在machine build directory下面。因此要共享下载文件只需要指定此变量到下载好了的目录即可,可以在local.conf中指定即可:
2015-12-20 12:36:04 4408
原创 Yocto tips (5): Yocto如何更改source code的下载与git clone地址
现象Yocto中在fetch一些软件包的时候经常出现一天也下载不下来,这种情况极大浪费了我们的时间。例如,下面有三个Package下载了一天也没有完成:解决方法确定下载的地址,手动下载先确定软件包的下载地址,例如对于opencv与opencv-samples软件包:可以看到他们的git地址都是一样的,因此,我们可以手动来git clone:
2015-12-20 11:53:02 12743 3
原创 start kernel 之后没有任何输出与uboot无法将bootargs传入内核的调查方法与解决之道
可能的原因昨晚在Yocto中适配TQIMX6的时候,bootm之后出现start kenrel之后没有任何输出。对此一般有多种调试方法,与调查方向,可能的原因如下级类:串口的引脚是否配置正确,例如pincltrl指定的Debug串口引脚,串口选错没有串口的直连与交叉问题查看bootargs传过去的console=是否正确,例如ttyXX是否正确,波特率内核使用的comman
2015-12-20 09:56:12 5010 4
原创 Yocto i.MX6 (TQIMX6) (01) : 3.14.28内核的适配
Freesacle Yocto的环境配置与编译到Freescale下载imx6 Linux Source Code,解压里面的fsl-yocto命名的压缩包得到Yocto setup手册:Freescale_Yocto_Project_User's_Guide.pdf然后按照里面的步骤操作即可编译出一个完整的distribution,当然很可能会因为网络或者一些Package早已不
2015-12-19 23:42:56 12251
原创 Yocto tips (3): Yocto 如何重新编译Linux内核与dtb,并放到deploy目录?
编译内核,并生成uImage+dtb,编译的命令如下:bitbake linux-imx -C compile注意这里的-C的C是大写,和小写的c是有区别的。注意这里的linux-imx是针对imx的内核,你的内核名字可能不一样,关于如何确定一个包的名字,请看:Yocto tips (4): Yocto 如何确定(找到)一个包的名字
2015-12-19 23:36:30 14158 2
原创 Yocto tips (4): Yocto 如何确定(找到)一个包的名字
使用下面命令来却确定:bitbake -s | grep XXX其中XXX为包的关键字,例如linux或者uboot,这样就可以看到所有带有关键字的包了,如下图,就是为了找到内核:
2015-12-19 23:35:17 7555 3
原创 Yocto tips (2): Yocto Linux内核编译目录在哪?
内核放在了哪里? 这个是放在了如下位置,我们可以用下面命令来确定:bitbake -e linux-imx | grep ^S=图示:
2015-12-19 23:19:46 7345
原创 Yocto tips (1): Yocto 编译后文件放在了哪里 输出文件位置
编译完成后内核以及rootfs,内核,uboot以及dtb会放在相对于build目录的tmp/deploy/images/MACHINE/下面,这里MACHINE需要可能为空(对于老版本的poky/yocto),也可能是你的板子名字,例如sabresd。对于toolchain,那么放在mp/deploy/sdk/MACHINE/下。图片参考博客:Yocto i.MX6 (T
2015-12-19 23:09:10 9285
原创 Freescale IMX6 Android (7): Android启动动画死循环 Home界面不出来与pid XXX exit 可能的原因汇总
或许你某一次编译了整个Android,然后烧进去,结果屏幕中一直显示Android Bootanimation,Home界面一直不出来。对此,可能有以下五类原因,往这几个方向考虑与调查可能可以提供一些线索。前面两类是属于软件的,后面两类属于硬件。最后一类属于软件硬件都相关。第一类:binder相关binder: release 3000:3000 transaction 12769
2015-12-17 22:16:34 5306
原创 Freescale IMX6 Android (6): 向ServerManager中添加Service
简述前面的博客中,我们直接添加C lib到APK中,然后使用LoadLibrary加载这个库,同时添加一个class来作为中间层,直接使用这个C库中的native函数来控制硬件,这种做法将硬件与APK牢牢绑定,如果有多个APP来访问同一个硬件就会出现问题,代码也会有很多的重复,在Android中,我们使用Android的SystemServer向ServiceManager来将硬件的功能添
2015-12-17 17:08:34 1861
原创 PPT分享: Linux启动流程 关于initrd与initramfs的区分及其发展历程
在电脑的角落发现自己在2013年做的组内技术分享与交流的关于Linux启动的PPT:FS involved in the Linux booting。下载地址:Linux启动流程 initrd与initramfs的区别截图如下:
2015-12-16 11:12:25 1784
原创 Freescale IMX6 Android (5): APP通过JNI控制LED
本篇博客接上一篇的:Freescale IMX6 Android: 基于TQIMX6 给Toolbox添加LED控制程序,上一篇是直接将控制程序放到了Toolbox,本篇则是通过JNI调用C库来完成LED的控制,即APP--> C --> HW。APK的编写(源码见末尾)编写主要需要注意下面个事项与步骤1. 更改xml在layout中添加控件2. Checkbox与Butt
2015-12-12 16:14:54 2442
原创 Freescale IMX6 Android (4): 基于TQIMX6 给Toolbox添加LED控制程序
本篇博文是为了后面的Android HAL层使用LED而做的准备,板子基于TQIMX6Q,Android 4.3,Android已经编译完成了,如果还没有可以参考前面我的博文:Freescale IMX6 Android: 使用HDMI作为Android显示输出的配置,以及TQ提供的开发者手册。LED的硬件连接LED4~6是给用户使用的,如下:可以看到是GPIO3_21
2015-12-10 20:47:31 2750
原创 Freescale IMX6 Android (3): 手动制作Android启动用SD卡 省去MFGTOOLS烧写
Freescale IMX6的烧写方式在Windows下面一般使用MFGTools,但是TQ提供的MFGTools在Windows下面无法工作,USB的驱动不正常。于是想到Linux下面的烧写方式,结果一样出现问题,且因为TQ没有提供一些烧写程序的源码,因此无法更改与调试。因此TQ提供的两种烧写Android的方式都无法使用了,加之前面博文中,我也尝试使用NFS来启动,也没有达到需要的效果,因此这
2015-12-07 23:36:19 5324
原创 Freescale IMX6 Android (2): Android NFS启动问题汇总
前面的一篇博文中,提到了要使用自己编译出来的Android来启动,且使用NFS的方式来启动Android,但是在今天的尝试中却遇到了问题。且最终没有解决,但是找到了替换方案,替换方案见下一篇博文。遇到的问题汇总如下,希望可以帮助遇到同样问题的人。板子用的还是TQIMX6Q(见以前的博文)。Android NFS启动的rootfs制作与启动要制作Android NFS rootfs,
2015-12-07 18:21:19 2067
原创 Freescale IMX6 Android (1): 使用HDMI作为Android显示输出的配置
环境准备与编译个人使用的是Ubuntu 12.04 X64,针对环境的配置,百度即可。板子使用的是TQIMX6Q。lunch目标但是,编译的时候使用的是TQ提供的脚本build_sh,根据这个脚本,可以看到lunch的目标是sabresd_6dq:$ echo $TARGET_PRODUCT sabresd_6dq即,TQIMX6的Android lunch目标其实使用的是sa
2015-12-05 17:57:33 9244
原创 废物利用: 动手将笔记本的显示器改成多功能显示器 可用于电视盒子以及嵌入式开发
方案比较买了一个Cortex-A8的开源板子BeagleBone Black,其输出是HDMI,而我的显示器是VGA的。对此想到了几种方法,各有优劣:HDMI显示方案对比方案详细设备优点缺点价格1HDMI->VGA 转换器简单易用需要VGA显示器几十2HDMI显示器方便占用面积大1000左右
2015-12-05 17:34:22 23864 2
AR9170 (支持TP Link WN821N ) Linux 固件 firmware
2015-12-21
imx6 手动制作Android启动用SD卡脚本与fstab
2015-12-10
51单片机完整课程设计上位机实时曲线状态机详细注解
2011-05-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人