昨天终于拿到了MarS Board。本来上周就应该到的,结果销售人员给我发了块BeagleBone Black... 要是给我的是Sabre Lite也就算了。发错货总是消费者吃亏,好像没怎么听说过占便宜的,这种现象不知有没有人专业研究的可以探讨下哈。不过MarS Board看上去很cool,红色的板子小巧只有巴掌大。本人对嵌入式系统无任何经验,只是为了建造『家用多用途变形机器人』的伟大目标而开始进入这一领域。MarS Board的ARM核心是Freescale i.mx6, 性能比较强劲。虽然在单板微型电脑市场流行树莓派(Raspberry Pi),但是树莓派的性能达不到我的性能设计要求。另一款Cubieboard性能不错,只是它的核心是全志的A10,由于厂商的限制很多资料都不开放,造成了很多问题,例如对高清视频硬解码的困难。相比之下,Freescale就上路多了。Mars Board发挥了i.mx6的大部分功能,没暴露SATA接口是一个遗憾,不过只有Sabre Lite一半的价钱应该很超值了。树莓派的一大优势是有强大的用户社区,有什么困难都能很方便的找到帮助。Mars Board基本上就没有社区,只有自己摸索了。

首先是用Mini USB线连接PC和调试端口。运行终端仿真程序,选择串口,设置波特率为115200,然后连接MarS Board。把电源线插入插座,这时板子开始运行u-boot。默认u-boot会装载mmc上的Linux映像完成引导。MarS Board支持多种显示输出,包括LCD并行,LDB(LVDS),以及HDMI。不过我把HDMI线连接我的显示器到板子的HDMI口,却没有看到任何信号。调试窗口却有如下信息:

mxc_hdmi mxc_hdmi: PHY PLL not locked
mxc_hdmi mxc_hdmi: PHY PLL not locked
mxc_hdmi mxc_hdmi: same edid
mxc_hdmi mxc_hdmi: PHY PLL not locked
mxc_hdmi mxc_hdmi: PHY PLL not locked

说明书很简略,只能自行研究如何在Linux配置。

板子上有个reset按钮,按一下重启系统,等出现倒计数按任意键可以进入u-boot设置。使用printenv可以显示所有环境变量。其中bootcmd和bootargs是我所关心的。

setenv bootcmd 'mmc dev 1;mmc read ${loadaddr} 0x800 0x2000;bootm'

bootcmd是启动命令。分号是命令的分隔符。mmc dev #用来选择mmc设备。板子上只有1号设备。mmc read把mmc上的Linux启动映像装载到内存。bootm开始boot。

setenv bootargs console=ttymxc1,115200 root=/dev/mmcblk0p1 rootwait rw video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 fbmem=10M vmalloc=400M

bootargs是传递给kernal的参数。console=ttymxc1,115200用来设置kernal信息发往哪个console,ttymxc1是调试终端。root=/dev/mmcblk0p1设置文件系统在哪个分区。rootwait表示要到设备就绪后才挂载。video参数设置视频输出,这里我设置hdmi端口到fb0。

设置好环境变量后可以使用saveenv来保存变动。boot后应该HDMI信号就有了,虽然还是黑屏的状态。要测试HDMI是否工作,可以往/dev/fb0中随意写入一些数据,例如:dd if=/dev/urandom of=/dev/fb0 。然后就可以看到屏幕上出现一些点点...

接下来的任务就是让屏幕上输出有意义的信息,有待进一步研究。

把console改成tty1,这样kernal信息会输出到第一个终端:

setenv bootargs console=tty1 consoleblank=0 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 fbmem=10M vmalloc=400M video=mxcfb1:off video=mxcfb2:off root=/dev/mmcblk0p1 rootwait rw

saveenv

boot

果然HDMI显示器上输出了boot信息。我把无线键鼠的usb接收器插入MarS Board的USB插槽,这样就可以在终端进行输入了。

配置火星板(MarS Board)的启动参数的更多相关文章

  1. php配置php-fpm启动参数及配置详解

    约定几个目录 /usr/local/php/sbin/php-fpm/usr/local/php/etc/php-fpm.conf/usr/local/php/etc/php.ini一,php-fpm ...

  2. php-fpm 启动参数及重要配置详解

    约定几个目录 /usr/local/php/sbin/php-fpm /usr/local/php/etc/php-fpm.conf /usr/local/php/etc/php.ini 一,php- ...

  3. linux下php-fpm 启动参数及重要配置

    约定几个目录 /usr/local/php/sbin/php-fpm/usr/local/php/etc/php-fpm.conf/usr/local/php/etc/php.iniI. php-fp ...

  4. Fitnesse启动参数与配置

    Fitnesse最新版20140630默认启动后,网页风格与 fitnesse.org 的Bootstrap风格完全不一致. 需要配置plugins.properties中的Theme=bootstr ...

  5. eclipse.ini配置eclipse的启动参数

    Eclipse的启动由$ECLIPSE_HOME/eclipse.ini控制,如果$ECLIPSE_HOME 没有被定义,则Eclipse安装目录下的默认eclipse.ini会生效. eclipse ...

  6. php-fpm 启动参数及重要配置详解<转>

    原文地址  http://levi.cg.am/archives/3127 约定几个目录 /usr/local/php/sbin/php-fpm /usr/local/php/etc/php-fpm. ...

  7. Eclipse 配置Tomcat启动参数 Java EE IDE for Web Developers. Version: Helios Service Release 2

    因为在开发的过程中出现了PerGen Space.所以需要修改Tomcat的启动参数,郁闷的事情是公司不使用盗版,因此离开了熟悉的一塌糊涂的MyEclipse界面还真的找不到配置Tomat启动参数的地 ...

  8. CMS GC启动参数优化配置

    简介: java启动参数共分为三类: 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容: 其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现 ...

  9. IntellIJ IDEA 启动 参数 配置

    系统环境: 型号名称: MacBook Pro型号标识符: MacBookPro11,4处理器名称: Intel Core i7处理器速度: 2.8 GHz处理器数目: 1核总数: 4L2 缓存(每个 ...

随机推荐

  1. cobbler setting dnsmasq

    Currently cobbler can help generate a ISC DHCP configuration (package name: dhcpd) it can also alter ...

  2. 一个简单的flask应用

    一个简单的flask应用,文件名hello.py from flask import Flask app = Flask(__name__) @app.route('/') def hello_wor ...

  3. Android多线程分析之中的一个:使用Thread异步下载图像

    Android多线程分析之中的一个:使用Thread异步下载图像 罗朝辉 (http://blog.csdn.net/kesalin) CC 许可.转载请注明出处 打算整理一下对 Android Fr ...

  4. Android 热修复 Tinker接入及源代码浅析

    本文已在我的公众号hongyangAndroid首发.转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/54882693本文出自张鸿 ...

  5. c++ std::ifstream

    #include <iostream> #include <plug/plug.h> using namespace std; //使用宽字符,我猜是为了适应那些要使用宽字符的 ...

  6. Sublime text 3 快捷键:

    Ctrl+Shift+[  选中代码,按下快捷键,折叠代码. Ctrl+Shift+]  选中代码,按下快捷键,展开代码.  Ctrl+Shift+P:打开命令面板 Ctrl+P:打开搜索框,搜索项目 ...

  7. 编写高质量代码–改善python程序的建议(二)

    原文发表在我的博客主页,转载请注明出处! 建议七:利用assert语句来发现问题断言(assert)在很多语言中都存在,它主要为调试程序服务,能够快速方便地检查程序的异常或者发现不恰当的输入等,可防止 ...

  8. fis3解决web网站缓存问题

    为什么使用FIS3 项目上线一段时间后如果更新JS或CSS文件,而客户端已经对该文件缓存过了,那就有可能会无法及时更新而继续采用旧的JS或CSS文件,无法达到想要的效果. 处理类似情况最有效的解决方案 ...

  9. javajava持有对象(容器类)

    数组是固定的长度去保存对象,还有一些集合类如基本的List.Set.Quene.Map可以存储不固定长度的对象.

  10. Java核心技术1

    Java方法参数的使用情况: 一个方法不能修改一个基本数据 对象析构与finalize方法 Java有自动的垃圾回收器,不需要人工回收内存,例如,文件或使用了系统资源的另一个对象的句柄.在这种情况下, ...