
linux
pandaer_6
嵌入式转管理
展开
-
Linux嵌入式板卡修改时间并同步到硬件
查看系统时间:#date设置系统时间:#date-s“2021-07-26 15:33:00”将系统时间同步到硬件时钟:#hwclock -w关于hwclock命令用#hwclock --help可以查看说明:hwclock [-r|--show] [-s|--hctosys] [-w|--systohc] -r 或 --show 读取并打印硬件时钟(read hardware clock and print result) -s 或--hctosys将...原创 2021-07-26 15:41:01 · 433 阅读 · 0 评论 -
关于linux kfifo环形(循环)缓冲区代码难点理解
代码不重复贴,网上大把,针对比较难理解的几句代码注释下,以备忘:1、kfifo的size要求是2的N次方,主要是为满足(fifo->in & (fifo->size - 1) ) 等价于(fifo->in % fifo->size)。2、fifo->in % fifo->size用来求得buffer中的写下标。3、fifo->size - (fifo->in & (fifo->size - 1))表示写下标到buffer尾还有原创 2021-07-20 16:58:39 · 497 阅读 · 0 评论 -
pthread_create传递线程参数需要注意的问题
程序如下void* thread_rountine(void *arg){ int *cnt = (int*)arg; for (int i=0; i<5; ++i) printf("%d-hello\n",*cnt); return 0;}int main(void){ pthread_t pid[2]; int ret; for (int i=0; i<2; ++i) { if (转载 2021-03-19 17:07:52 · 216 阅读 · 0 评论 -
ubuntu16.04编译android6.0问题汇总
1、安装openjdk-7由于ubuntu16.04默认安装的是openjdk 8,但编译android6.0要求openjdk 7,所以要先安装openjdk 7,ubuntu的电脑无法上网(开发安卓不能上网,就像本来可以直接买火机用,但非得去钻木取火一样SB),只能手动下载deb包,并根据提示一个个解决依赖的问题,每个系统初装软件可能有差异,我的ubuntu16.04装openjdk-7时下了如下包:openjdk-7-jdk_7u95-2.6.4-3_amd64.debopenjdk-7-原创 2020-06-30 10:16:53 · 357 阅读 · 0 评论 -
imx显示驱动参数详解
struct fb_videomode { const char *name; /* optional */ u32 refresh; /* optional */ u32 xres; u32 yres; u32 pixclock; u32 left_margin; u32 right_margin; u32 up...原创 2020-04-26 14:29:34 · 736 阅读 · 0 评论 -
shell if [ “x${var}" == “x” ]中x的作用
防止出现语法错误。如果不写x,当${var}为空或未设置时,出现语法错误。加上x后,当${var}为空或未设置时,解释为if [ “x"== "x"] ,依然正确。if [ “x${var}" == “x” ]整句的意思是判断${var}是否为空。...原创 2020-03-23 14:24:44 · 13697 阅读 · 0 评论 -
imx6 android6 usb驱动能识别,无法挂载
1、插入U盘后,打印提示盘符sda1,指令find . -name sda1查找对应路径为:./dev/block/platform/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/sda12、而fstab.freescale中的usb挂载路径为:/devices/soc0/soc/2100000.aips-bus/2184000.usb...原创 2019-11-08 14:20:59 · 655 阅读 · 0 评论 -
Linux 下framebuffer 帧缓冲的使用
转载地址:https://www.cnblogs.com/chay/p/8043314.html#_label0阅读目录framebuffer 帧缓冲 fb与应用程序的交互 fb的控制 相关结构体 使用实例回到顶部framebuffer 帧缓冲帧缓冲(framebuffer)是Linux 系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层...转载 2018-10-11 09:05:00 · 1501 阅读 · 0 评论 -
imx6 yocto移植minigui-3.0.12
一、下载minigui所需库源码包:zlib-1.2.6.tar.gz、libpng-1.2.37.tar.gz、jpegsrc.v8c.tar.gz、freetype-2.3.9-fm20100818.tar.gz、minigui-res-be-3.0.12、libminigui-gpl-3.0.12.tar.gz、mg-samples-3.0.12解压后,文件目录层次:minigui|——zl...原创 2018-06-27 16:49:33 · 1262 阅读 · 0 评论 -
imx6 yocto移植udev-100
imx6q yocto通过bitbake自动生成的根文件系统与之前差异较大,外置sd卡无法挂载,#grep "udevd" rootfs -r发现启动的都不是以前/sbin下的守护进程,变成了/lib/udev/udevd,试图编最新的udev-182,解了一堆的配置与编译的依赖,最后还是链接不过,果断放弃!重新移植udev-100,步骤如下:一、下载udev-100包后,修改Makefile如下...原创 2018-06-29 18:43:31 · 1393 阅读 · 0 评论 -
imx6q yocto移植vpu
1、在未配置环境变量的干净环境中,cd到源码顶层目录(fsl-release-bsp)配置:$DISTRO=fsl-imx-fb MACHINE=imx6qsabresd source fsl-setup-release.sh -b build-fb2、$bitbake imx-test3、生成的例子程序mxc_vpu_test.out在fsl-release-bsp/build-fb/tmp/w...原创 2018-05-24 17:55:52 · 1798 阅读 · 0 评论 -
bitbake报错“AttributeError: 'module' object has no attribute 'lib'”
Traceback (most recent call last): File "/opt/fsl-imx-fb/4.1.15-1.2.0/sysroots/i686-pokysdk-linux/usr/lib/python2.7/site.py", line 553, in <module> main() File "/opt/fsl-imx-fb/4.1.15-1.2.0...原创 2018-05-08 19:57:55 · 1605 阅读 · 1 评论 -
编译mg-samples-3.0.12报错:libminigui_ths.so: undefined reference to `WndClientRect'解决方法
用gcc 5.2.0去编译mg-samples-3.0.12,报错:.../lib/libminigui_ths.so: undefined reference to `WndClientRect' .../lib/libminigui_ths.so: undefined reference to `pixel2rgb' .../lib/libminigui_ths.so: undefined r...原创 2018-05-18 15:33:20 · 1807 阅读 · 3 评论 -
imx6 yocto编译备忘
1、git把源码下到fsl-release-bsp后,配置编译选项:$DISTRO=fsl-imx-fb MACHINE=imx6qsabresd source fsl-setup-release.sh -b build-fb-b 可以指定你要将文件编译到哪个目录2、全编译:$bitbake fsl-image-machine-test如有报错:ERROR: Tas原创 2016-12-03 11:32:55 · 6310 阅读 · 0 评论 -
linux驱动之--fops的关联
转载:http://blog.youkuaiyun.com/zssmcu/article/details/67467701.各种驱动形式不过是表象,本质还是把fops注册到inode中。2.一直没有找到确实的“证据”不过还是有点线索的:device_create->device_create_vargs-> dev_set_drvda转载 2015-03-11 09:31:28 · 812 阅读 · 0 评论 -
解决bash和dash兼容性导致的问题
最近写个imx5 android自动化编译脚本,在脚本中执行“source build/envsetup.sh”时,总提示source: not found,经网查, 是Ubuntu 6.10开始,/bin/sh默认link到dash而不是bash,故envsetup.sh中有些bash语句,dash解析不了。解决方法有二:1、临时改法:在需要bash的脚本的第一行写上"#!/bin/bash原创 2016-11-29 16:32:54 · 3432 阅读 · 0 评论 -
yocto 串口打印异常问题排查
在移植yocto imx6q时,u-boot出现过打印消息正常,但console无法输入,一直从serial驱动到console初始化一步步排查,都正常,郁闷至极,无意想到是不是串口输入脚搞错了,一对照,果然是pin脚错了一个序号,更正后输入正常。今天做到kernel这一步了,在menuconfig中尽最大可能保留了官方标准配置,只设置了System Type -> Freescale i.M原创 2016-12-19 15:36:18 · 861 阅读 · 0 评论 -
我眼中的Linux设备树(Device tree)
1、概述设备树(Device tree)是一套用来描述硬件属相的规则。ARM Linux采用设备树机制源于2011年3月份Linux创始人Linus Torvalds发的一封邮件,在这封邮件中他提倡ARM平台应该参考其他平台如PowerPC的设备树机制描述硬件。因为在此之前,ARM平台还是采用旧的机制,在kernel/arch/arm/plat-xxx目录和kernel/arch/arm/ma...转载 2016-12-29 10:55:50 · 2853 阅读 · 0 评论 -
imx6q yocto修改device tree中uart管脚配置
因自己做的板子上把SD3_DAT6和SD3_DAT7复用成uart1的调试口,公版代码里是用于usdhc3,需修改device tree中的管脚配置,方法如下:1、修改arch/arm/boot/dts/imx6qdl-sabresd.dtsi(此文件作为头文件被imx6q-sabresd.dts包含):在&iomuxc子结点的pinctrl_uart1: uart1grp中,修改pin脚原创 2016-12-29 18:57:29 · 3459 阅读 · 0 评论 -
ARM开发板嵌入式linux系统与主机PC通过串口传输文件
我想如果要从PC机下载东西到开发板的嵌入式linux系统里面,很多人首先会想到用tftp sftp等网络工具从网口下载。但如果网络用不了,只能通过串口下载怎么办呢?这个时候有两个工具能帮到你:一个是zmrx、zmtx,另外一个是lsz、lrz。个人觉得zmrx/zmtx没有lsz/lrz稳定,建议还是用后者。下面介绍一下lsz/lrz的使用方法。 一、编译lrzsz并下载到开转载 2017-02-21 13:49:26 · 4718 阅读 · 2 评论 -
解决mx51-bbg串口ttymxc1只能发不能收的问题
调试过程大概记录如下:1、硬件上把ttymxc1的tx和rx直连;2、通过在kernel中的mxcuart_rx_chars()//mxc_uart.c加打印显示,控制台(ttymxc0)发送的回车命令可正常收到,可排除驱动问题;3、ttymxc1的tx循环发送单字节数据(0xa),在mxcuart_int()中加打印发现if(sr2 & MXC_UARTUSR2_RDR)并示触发中断原创 2016-09-02 15:16:02 · 1738 阅读 · 0 评论 -
imx6 device tree lvds屏配置
imx6qdl-sabresd.dtsi中lvds接口显示配置如下:&ldb { status = "okay"; lvds-channel@0 { fsl,data-mapping = "spwg"; fsl,data-width = ; primary; ipu_id = ; disp_id = ; status = "okay"; dis原创 2017-02-16 09:46:39 · 3880 阅读 · 0 评论 -
linux tslib-1.4移植
1、下载tslib-1.4.tar.gz:http://download.youkuaiyun.com/source/31774492、解压安装tslib:# tar -zxvf tslib-1.4.tar.gz# cd tslib# ./autogen.sh# echo "ac_cv_func_malloc_0_nonnull=yes" > arm-none-linux-gn转载 2017-03-31 19:15:04 · 673 阅读 · 0 评论 -
ubuntu离线安装技巧
因某些原因,开发用的电脑不能联网,如果要离线在ubuntu上安装软件包,经常会因不清楚依赖关系而不知要下哪些包,但如果另有台可联网的电脑,用的ubuntu版本也和离线机一致,则可用如下方法解决:比如离线ubuntu上报错:bison: Command not found显然是没安装bison,在联网ubuntu上先:$sudo apt-get autoremove bison卸载掉原创 2017-08-10 18:19:22 · 1897 阅读 · 0 评论 -
Yocto Toolchain编译busybox
1、在官网https://busybox.net下载最新源码1.26.2;2、先导入环境变量: . /opt/fsl-imx-fb/4.1.15-1.2.0/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi3、cd到busybox的源码文件夹busybox-1.26.2,配置编译选项$make menuconfig:原创 2017-01-23 09:15:52 · 7073 阅读 · 3 评论