imx6 android快速倒车5.1 imx6q接并口摄像头怎么配置

3405人阅读
-------Freescale--------(52)
IMX6Q_Android5.1移植(10)
platform: IMX6Q
os: Android 5.1
kernel: 3.14.52
1. 增加dts文件
#cd arch/arm/boot/dts
#cp imx6q-sabresd.dts ecovacsimx6q-sabresd.dts
#cp imx6qdl-sabresd.dtsi ecovacsimx6qdl-sabresd.dtsi因为这两个文件会被其他dts文件include到,这样删除原始外设信息时,编译就不会报错了。
2. mach type匹配
保证device tree中的值和mach desc结构中的值有相同的一个,
本质上就是匹配里面的compatible属性值是否一致,
否则kernel因为匹配不成功而开机失败。
本例使用imx6平台,对应的dts文件是:kernel_imx/arch/arm/boot/dts/ecovacsimx6q-sabresd.dts/ {
model = "Freescale i.MX6 Quad SABRE Smart Device Board";
compatible = "fsl,imx6q-sabresd", "fsl,imx6q";
对应的mach desc结构在:kernel_imx/arch/arm/mach-imx/mach-imx6q.cDT_MACHINE_START(IMX6Q, "Freescale i.MX6 Quad/DualLite (Device Tree)")
.init_machine = imx6q_init_machine,
.init_late
= imx6q_init_late,
.dt_compat
= imx6q_dt_compat,
= imx6q_reserve,
.restart = mxc_restart,
MACHINE_END
static const char *imx6q_dt_compat[] __initdata = {
"fsl,imx6dl",
"fsl,imx6q",
};3. 修改uart
板子和参考方案的uart不一样,需要修改,参考uart1增加uart2的配置。kernel_imx/arch/arm/boot/dts/ecovacsimx6qdl-sabresd.dtsidiff --git a/arch/arm/boot/dts/ecovacsimx6qdl-sabresd.dtsi b/arch/arm/boot/dts/ecovacsimx6qdl-sabresd.dtsi
index d39576b..5e643d3 100644
--- a/arch/arm/boot/dts/ecovacsimx6qdl-sabresd.dtsi
+++ b/arch/arm/boot/dts/ecovacsimx6qdl-sabresd.dtsi
@@ -822,6 +822,13 @@
pinctrl_uart2: uart2grp {
fsl,pins = &
MX6QDL_PAD_GPIO_7__UART2_TX_DATA
MX6QDL_PAD_GPIO_8__UART2_RX_DATA
pinctrl_uart5_1: uart5grp-1 {
fsl,pins = &
MX6QDL_PAD_KEY_COL1__UART5_TX_DATA
@@ -25,12 @@
status = "okay";
pinctrl-names = "default";
pinctrl-0 = &&pinctrl_uart2&;
status = "okay";
fsl,pins的解释位于kernel_imx/Documentation/devicetree/bindings/pinctrl/fsl,imx6q-pinctrl.txt
GPIO的宏定义位于:kernel_imx/arch/arm/boot/dts/imx6q-pinfunc.h4. 检查和调试
编译时lunch选项要选择imx6系列的,确保ecovacsimx6q-sabresd.dts
和mach-imx6q.c 有被编译进去。
如果开机kernel没有log,那么可以通过jtag或者reset之后在
u-boot阶段dump kernel log的方法分析原因出在哪里了。查看: 4482|回复: 103
飞思卡尔PCIMX6Q5EYM10AC 开发板PCB+原理图全套下载
阅读权限70
在线时间595 小时
帖子魅力积分
高级工程师, 积分 2237, 距离下一级还需 763 积分
高级工程师, 积分 2237, 距离下一级还需 763 积分
游客,如果您要查看本帖隐藏内容请freeacle PCIMX6Q5EYM10AC 开发板, 原理图和PCB都有。
QQ图片28.png (64.17 KB, 下载次数: 11)
23:18 上传
& X! l5 ]) d0 _: u! J* J
QQ图片11.png (119.53 KB, 下载次数: 2)
23:18 上传
游客,如果您要查看本帖隐藏内容请7 |! V# u' ?, J& b&&G' Y&&b# z
4 D/ s5 E$ S&&f5 }) w$ A9 O
3 E&&e- p0 ?5 f# B
* R$ c2 I+ J* z, Y
哈...今天好开心,签到来了1...
阅读权限10
在线时间0 小时
帖子魅力积分
实习生, 积分 27, 距离下一级还需 23 积分
实习生, 积分 27, 距离下一级还需 23 积分
谢谢楼主& && && && && && && && && && && && && &&&
阅读权限50
在线时间234 小时
帖子魅力积分
助理工程师, 积分 807, 距离下一级还需 193 积分
助理工程师, 积分 807, 距离下一级还需 193 积分
& & & & & x8 b6 M" T1 G
参与/回复主题关闭* a0 v7 M0 D6 q! _. ~% [# f% ]/ H
RE: 飞思卡尔PCIMX6Q5EYM10AC 开发板PCB+原理图全套下载 [修改
哈...今天好开心,签到来了1...
阅读权限20
在线时间18 小时
帖子魅力积分
技术员, 积分 102, 距离下一级还需 98 积分
技术员, 积分 102, 距离下一级还需 98 积分
谢谢& &楼主&&谢谢& && && && && &
该会员没有填写今日想说内容.
阅读权限30
在线时间91 小时
帖子魅力积分
工程师, 积分 432, 距离下一级还需 68 积分
工程师, 积分 432, 距离下一级还需 68 积分
牛X..下来看看的,学习一下
过年了。。。。。烦
阅读权限50
在线时间299 小时
帖子魅力积分
助理工程师, 积分 510, 距离下一级还需 490 积分
助理工程师, 积分 510, 距离下一级还需 490 积分
谢谢分享,还不错的
该会员没有填写今日想说内容.
阅读权限90
在线时间1593 小时
帖子魅力积分
好好学习,天天和由
该会员没有填写今日想说内容.
阅读权限90
在线时间528 小时
帖子魅力积分
阅读权限90
在线时间528 小时
帖子魅力积分
阅读权限70
在线时间382 小时
帖子魅力积分
高级工程师, 积分 1528, 距离下一级还需 1472 积分
高级工程师, 积分 1528, 距离下一级还需 1472 积分
阅读权限20
在线时间8 小时
帖子魅力积分
技术员, 积分 52, 距离下一级还需 148 积分
技术员, 积分 52, 距离下一级还需 148 积分
下一个看看。。。谢谢
阅读权限30
在线时间41 小时
帖子魅力积分
工程师, 积分 232, 距离下一级还需 268 积分
工程师, 积分 232, 距离下一级还需 268 积分
谢谢分享!
阅读权限30
在线时间73 小时
帖子魅力积分
工程师, 积分 235, 距离下一级还需 265 积分
工程师, 积分 235, 距离下一级还需 265 积分
dddddddddddddddddddddddddddddd
该会员没有填写今日想说内容.
社区QQ达人
使用QQ帐号登录论坛的用户
注册账号后积极发帖的会员
经常参与各类话题的讨论,发帖内容较有主见
经常帮助其他会员答疑
积极宣传本站,为本站带来更多注册会员
积极宣传本站,为本站带来更多的用户访问量
经常在论坛发帖,且发帖量较大
长期对论坛的繁荣而不断努力,或多次提出建设性意见
需完整填写个人资料方可申请
注册满一个月主题贴满20可申请
为论坛做出突出贡献的会员imx6q sebrasd can总线移植指南
在imx6q的3.14.52的BSP中已经有了CAN总线的驱动,驱动的源代码在drivers\net\can\flexcan.c
虽然imx6q的BSP里面已经支持了CAN总线的驱动,但是在针对SABRESD的板的DTS文件中确没有支持CAN,所以需要我们自己来增加。
下面是修改的部分。
在arch\arm\boot\dts\imx6qdl-sabresd.dtsi文件中增加IO口的定义
pinctrl_flexcan1: flexcan1grp {
fsl,pins = &
MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x
MX6QDL_PAD_GPIO_8__FLEXCAN1_RX 0x
这个是CAN总线的TX\RX的IO口的配置,这个是开发板上用到的两个口,如果是其他的口自行修改就好了。
这个添加的代码要放到&iomuxc 中。
然后增加CAN1的定义
&flexcan1 {
pinctrl-names = "default";
pinctrl-0 = &&pinctrl_flexcan1&;
trx-stby-gpio = &&gpio4 5 GPIO_ACTIVE_LOW&;
status = "okay";
默认status是disable的,这里要设置为okay,否者驱动的probe函数探测不到了
pinctrl-0后面的名称要和我们前面添加的IO口定义相匹配。
trx-stby-gpio这个是定义standby口的定义
如果还有其他的控制IO口,参考上面的格式定义。
在mach-imx6q.c中增加下面的函数
static void mx6q_flexcan_switch_sd(void)
if (flexcan0_en ) {
gpio_set_value_cansleep(flexcan_stby_gpio, 1);
gpio_set_value_cansleep(flexcan_stby_gpio, 0);
printk(KERN_ALERT"-------can stby setup en-------\n");
gpio_set_value_cansleep(flexcan_stby_gpio, 1);
printk(KERN_ALERT"-------can stby setup off-------\n");
static void imx6q_flexcan0_switch_sd(int enable)
flexcan0_en =
mx6q_flexcan_switch_sd();
static void imx6q_flexcan1_switch_sd(int enable)//can1在开发板上没有印出来,所以不使能,如果要用到can1,参考can0的设置就好了
flexcan1_en = 0;
printk(KERN_ALERT"-------can1 not supported-------\n");
//imx6q_flexcan_fixup_sd是读取DTS中IO口的设置,这里只有standby的定义,如果还有其他的控制脚,参考下面的代码自己加上。
static int __init imx6q_flexcan_fixup_sd(void)
struct device_node *
np = of_find_node_by_path("/soc/aips-bus@/can@");
return -ENODEV;
flexcan_stby_gpio = of_get_named_gpio(np, "trx-stby-gpio", 0);
if (gpio_is_valid(flexcan_stby_gpio) &&
!gpio_request_one(flexcan_stby_gpio, GPIOF_DIR_OUT, "flexcan-trx-stby")) {
flexcan_pdata[0].transceiver_switch = imx6q_flexcan0_switch_
flexcan_pdata[1].transceiver_switch = imx6q_flexcan1_switch_
最后在static void __init imx6q_init_late(void)函数中增加
if (of_machine_is_compatible("fsl,imx6q-sabresd"))
imx6q_flexcan_fixup_sd();
编译后,重新烧录重新启动后再命令行中输入
ifconfig -a
就可以看到can0出来了。
下面是测试
在3.14.52中,测试程序变了,没有canecho了,我们可以用canfdtest来测试。
ip link set can0 up type can bitrate 20000
ifconfig can0 up
canfdtest -vv can0
canfdtest会把接收到的数据在调试串口打印出来,然后将接受的每一个字节的数值加1,然后发回去。
看过本文的人也看了:
我要留言技术领域:
取消收藏确定要取消收藏吗?
删除图谱提示你保存在该图谱下的知识内容也会被删除,建议你先将内容移到其他图谱中。你确定要删除知识图谱及其内容吗?
删除节点提示无法删除该知识节点,因该节点下仍保存有相关知识内容!
删除节点提示你确定要删除该知识节点吗?[摘要:platform: imx6q
branch: l5.1.1_2.1.0-ga
本死source code是没法经过adb进进recovery mode的,提醒以下log。
exec &//bin/sh&: No such file ]
platform: imx6q
os: Android5.1
branch: l5.1.1_2.1.0-ga
原生source code是无法通过adb进入recovery mode的,提示如下log。
exec &/system/bin/sh&: No such file or directory.
因为recovery下system fs是没有挂载的,可以通过下面修改使用/sbin/sh来进入adb shell.
1. 修改 android/system/core/adb/services.c
kris@PT-server:~/myandroid/system/core$ git diff
diff --git a/adb/services.c b/adb/services.c
index 21b08dc..9f
--- a/adb/services.c
+++ b/adb/services.c
@@ -301,8 +301,10 @@ static int create_subproc_raw(const char *cmd, const char *arg0, const char *arg
#if ADB_HOST
#define SHELL_ &/bin/sh&
+#define SHELL_COMMAND1 &/bin/sh&
#define SHELL_COMMAND &/system/bin/sh&
+#define SHELL_COMMAND1 &/sbin/sh&
#if !ADB_HOST
@@ -343,7 +345,9 @@ static int create_subproc_thread(const char *name, const subproc_mode mode)
adb_thread_
pid_t pid = -1;
char *shell_
const char *arg0, *arg1;
if (name == 0 || *name == 0) {
arg0 = &-&; arg1 = 0;
@@ -351,12 +355,21 @@ static int create_subproc_thread(const char *name, const subproc_mode mode)
arg0 = &-c&; arg1 =
fd = unix_open(SHELL_COMMAND, O_RDONLY);
if (fd & 0){
shell_name = SHELL_COMMAND1;
shell_name = SHELL_COMMAND;
adb_close(fd);
switch (mode) {
case SUBPROC_PTY:
ret_fd = create_subproc_pty(SHELL_COMMAND, arg0, arg1, &pid);
ret_fd = create_subproc_pty(shell_name, arg0, arg1, &pid);
case SUBPROC_RAW:
ret_fd = create_subproc_raw(SHELL_COMMAND, arg0, arg1, &pid);
ret_fd = create_subproc_raw(shell_name, arg0, arg1, &pid);
fprintf(stderr, &invalid subproc_mode %d\n&, mode);
2. copy sh和toolbox到recovery rootfs中。
[kris@ecovacs:~/myandroid/device/fsl/sabresd_6dq]$ g df
diff --git a/sabresd_6dq/BoardConfig.mk b/sabresd_6dq/BoardConfig.mk
index e2d036b..644
--- a/sabresd_6dq/BoardConfig.mk
+++ b/sabresd_6dq/BoardConfig.mk
@@ -110,7 +110,7 @@ $(error &TARGET_USERIMAGES_USE_UBIFS and TARGET_USERIMAGES_USE_EXT4 config open
BOARD_SEPOLICY_DIRS := \
device/fsl/imx6/sepolicy \
@@ -162,3 +165,8 @@ BOARD_SEPOLICY_UNION := \
+PRODUCT_COPY_FILES +=
device/fsl/sabresd_6dq/tb:root/sbin/tb
+PRODUCT_COPY_FILES +=
device/fsl/sabresd_6dq/sh:root/sbin/sh
sh和toolbox自己编译一下即可。
无相关信息飞思卡尔freescale i.mx6芯片介绍
L2 cache Max(kB)
串行接口类型
1080p Decode&
1080p Encode&
1080p Transcode&&
Image Pre and Post&
Processor&
Graphics(1*)
Integrated&
1 Gbps +IEEE&
MLB150 (Media&
Local Bus)&&
PCIe 2.0 1x&
SATA& 2.0&
Tamper Detect&
Temperature&
PRO6Q核心板采用了邮票孔焊接设计而成,尺寸为 40*60mm,脚位数 192Pin。核心板标配2GB,DDR3内存和16GB高性能eMMC4.5闪存(批量存储可选配4/8/32GB等容量)。PRO6Q核心板支持3.7V锂电池,自带充电功能及库仑计检测,外围电路简单,核心板可支持待机功能(待机功率0.1W,小于20mA)。
PRO6Q开发板标配板载5寸屏、500W摄像头、GPS、WiFi蓝牙4.0、HDMI/LVDS/MIPI显示、Ethernet、IR等,增强版可选4G模块+6000mA电池。
PRO6Q开发板主要针对手持方案,板载功能全面实用,可大大减少研发时间。
本产品主要应用于军工,车载,医疗,平板,机器人,无人机,仪表,工控机,三防机,监控,人机界面交互,网络摄像头等智能化产品。
PRO6Q核心板硬件规格
8层板,通孔工艺
Freescale Cortex-A9 四核 i.MX6Q,主频 1 GHz
2GB 32位数据总线
16GB EMMC4.5(批量可定制4/8GB)
NXP MMPF0100F0AEP 电源管理
Vivante GC2000
引出脚多达192PIN,满足用户各类实用扩展需求
工作环境温度范围
-25℃到85℃
5V(推荐使用标配5V/3A电源线)
3.7V锂电池
支持3.7V锂电池,自带充电功能及库仑计检测
Android4.4
Android_kk4.4.2 BSP软件资源
Bootloader
u-boot.bin
主要功能:&
1、支持INAND擦除、读、写&
2、支持bootm、bootargs设置&
3、支持打印、设置、保存环境变量&
4、支持内存内容显示、对比、修改&
5、支持USB 下载镜像&
内核及设备驱动程序
内核版本:Linux-3.0.35
系统主频:1.2G
5寸MIPI/TTL驱动&&★☆提供相关源码☆★
触摸屏驱动& ★☆提供相关源码☆★
HDMI v1.4& ★☆提供相关源码☆★
多媒体硬件编解码驱动&& ★☆提供相关源码☆★
SD/MMC/SDIO驱动&& ★☆提供相关源码☆★
VIP驱动&& ★☆提供相关源码☆★
OVW AF &&★☆提供相关源码☆★
无 &&★☆提供相关源码☆★
MMA8451Q驱动&& ★☆提供相关源码☆★
AR8031驱动&& ★☆提供相关源码☆★
PWM驱动&& ★☆提供相关源码☆★
按键驱动&& ★☆提供相关源码☆★
IIC驱动&& ★☆提供相关源码☆★
SPI驱动&& ★☆提供相关源码☆★
MAX17047驱动 &&★☆提供相关源码☆★
内核及设备驱动程2
音频驱动,支持AC97和IIS,默认驱动为IIS(WM8962)& ★☆提供相关源码☆★
DMA驱动&& ★☆提供相关源码☆★
实时时钟驱动&& ★☆提供相关源码☆★
USB device
USB Device驱动& ★☆提供相关源码☆★
USB host驱动& ★☆提供相关源码☆★
USB OTG驱动 &&★☆提供相关源码☆★
rtl8723 bu &&★☆提供相关源码☆★
rtl8723 bu&& ★☆提供相关源码☆★
EC20 &&★☆提供原厂库文件☆★
GPS &&★☆提供原厂库文件☆★
JPEG硬件编解码驱动&& ★☆提供相关源码☆★
2D硬件加速驱动&& ★☆提供相关源码☆★
3D硬件加速驱动& ★☆提供相关源码☆★
交叉编译器
arm-2009q3.tar.bz2
交叉工具链
上层应用程序
这是Android 下一个闹钟程序,可以设置闹铃时间、铃声选择等
Calculator
摄像头应用程序
Android下的电话拨号软件,有呼叫记录、联系人等功能
收发Email工具
Android下的各种应用和服务的设置等功能
Android 下的Brower 功能非常强大,支持网页放大、缩小、跳转、属性设置等
音频播放器,支持专辑分类,艺术家、专辑、歌曲、播放列表、随机播放、背景播放、搜索等功能
Android下的短信软件
图片浏览控件,支持图片放大、缩小、上一张、下一张、幻灯片演示、共享、旋转、裁切、图片信息等
PC端烧写工具
Xmanager Enterprise + fastboot
串口调试终端、USB下载镜像工具
VmWare 8.0+Ubuntu12.04
Windows下的虚拟机
Ubuntu12.04 64bit
与非门科技(北京)有限公司 All Rights Reserved.
京ICP证:070212号
北京市公安局备案编号: 京ICP备:号

我要回帖

更多关于 imx6ul 摄像头 的文章

 

随机推荐