【三星S5P4418卡片电脑试用体验】 +程序要进入内核,鸟要...

  • 三星
  • 电脑
  • 程序
  • 安卓小王子
  • LV4工程师
  • |      2016-12-01 21:02:11
  • 浏览量 2197
  • 回复:6
本帖最后由 安卓小王子 于 2016-12-5 10:21 编辑 程序要进入内核,鸟要活在dang-逍遥游本贴主要是说明把自己写的程序编入linux的内核中。因为4418的这个开发板厂商没有提供相关的文档说明,所以只能根据自己以前的经验尝试下,不过还好大多数方案厂商都是用的相对一致的内核结构。所以本次把程序编进内核加载的实验能够完成。 1、写自己的测试程序以下是我的测试程序案例 #include #include #include static int liao_hello_init(void){ printk("云汉有人,其名为鸟,鸟之大,不知其几公斤也,化而为鹏,鹏之臂,不知其几膂力也\r\n"); mdelay(20000);//延时20smdelayms级别的,为了能看到调试信息,而不是一闪而过 printk("da peng da peng ni zui qiang da peng da peng ni zui bang!\r\n");//自己读下拼音 mdelay(20000); return 0;} module_init(liao_hello_init); 需要调用到几个函数,所以需要进行头文件的说明,module.h是模块加载,init是初始化函数,delay是延时函数。另外printk()函数一般做出输出调试信息存在。 2、linux/kernel/drivers/下新建一个目录。加入.c的程序文件和kconfigMakefile文件。.c的文件就是上面的范例,然后新建目录里面的Kconfig这样写config LIAO_HELLO_DRIVER tristate "liao-hello driver" default y help compile for liao-hello driver,y for kernel,m for module.主要是配置一个LIAO_HELLO的驱动,然后tristate是表示是三态的形式,default y表示默认是编译进内核。这个可以自己百度详细说明。然后Makefile这样写obj-$(CONFIG_LIAO_HELLO_DRIVER) += liao-hello.o 执行编译的时候,会根据上面的Kconfig编译内核的.o格式的文件。 3、在外面的drivers的目录下的KconfigMakefile下加入新建目录的参数。derivers目录下的Kconfig加入新增驱动的路径的Kconfig,加入下面这句。source "drivers/liao-hello/Kconfig"然后在derivers目录下的Makefile加入下面这句,这样在编译过程中就会把liao-hello.c文件编译,生产内核对应的.o的目标文件。obj-y += liao-hello/ 4、进入s5p4418linux源文件主目录下进行编译内核操作,最好生产内核文件。主目录就是g4418_linux,里面有一个脚本文件mk.sh。那么执行下面的指令就可以编译内核文件了。sudo ./mk.sh -k最好在g4418_linux/linux/out/release下的目录找到boot.img文件。通过fastboot方式或者SD卡方式烧写到板子中(烧录的方式之前的帖子有介绍)。重启电脑看下出来的调试信息。最最遗憾的是,串口无法接收中文的数据,这个太遗憾了,哪天我研究看下能否搞定。 看下了,如果要显示中文,那么这个串口软件在全局选项的外观页面,选择UTF-8的形式就可以了。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:3
mingming 2016-12-06
楼主很有大侠风范啊,逍遥游这是是什么鬼?
0   回复
举报
发布
安卓小王子 回复 2016-12-06
庄子-《逍遥游》 去搜搜
0   回复
举报
lkl0305@163.com 回复 2016-12-06
不错,学习下
0   回复
举报
new world 回复 2016-12-08
谢谢分享顶一个
0   回复
举报
LiuYang 2016-12-05
月月鸟
0   回复
举报
发布
海豚 2016-12-02
赞一个,谢谢分享~
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子