您的位置:首页 > 其它

嵌入式学习笔记之模块生成及调用

2017-01-04 10:59 239 查看
模块调用过程:

1、创建led.ko

     创建.ko文件的过程详见 http://blog.chinaunix.net/uid-16759545-id-4892379.html;(注:make
menuconfig中Device Drivers菜单下,选中项这里使用[M]作为modules)

2、串口连接

     这个就不多讲了,拿串口线将PC和芯片连接;

3、开发板固件烧写

(1)固件生成,由于每个开发板的生成命令不一样,具体以芯片手册为准,这里是我使用的命令:

uboot
编译:

      cd u-boot

      make rk3399_defconfig

      make ARCHV=aarch64

kernel 编译:

      cd kernel

      make ARCH=arm64 rockchip_defconfig -j8

      make ARCH=arm64 rk3399-sapphire-excavator-edp.img -j12

android 编译:

      source build/envsetup.sh

      lunch rk3399_64-userdebug

      make -j12

      ./mkimages.sh

固件生成后会在某个文件夹下显示,下面是我这里固件生成的文件目录:

       rockdev/Image-xxx/
      ├── boot.img
      ├── kernel.img
      ├── misc.img
      ├── parameter.txt
      ├── recovery.img
      ├── resource.img
      ├── RK3399MiniLoaderAll_V1.05.bin
      ├── system.img
      ├── trust.img
      └── uboot.img

接着就是固件烧写了,填好相应的路径,点击执行,然后烧写成功了。

    


4、载入模块

    使用insmod led.ko载入到开发板中modules文件夹下; 

5、应用层调用

    准备Android makefile文件和测试文件(我这里是Android.mk和test.c文件),配置安卓环境,我这里使用的是:

       source build/envsetup.sh

    lunch rk3399_64-userdebug

     然后,在终端输入:mm,生成可执行文件led_test,最后运行即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: