zoukankan      html  css  js  c++  java
  • 增加一个Linux系统调用[嵌入式系统]

    l  实验要求:

    修改RPi上的Linux源码,增加一个带参数的系统调用,具体如课内所讲

    实验过程:

    1、             从github上下载RPI源码,下载地址

    https://github.com/raspberrypi/linux

    2、             修改源码,进入linux 源码文件夹后,在arch/arm/kernel 添加mysyscall.c,

     

    3、              

    修改arch/arm/kernel文件夹下的call.S,我将自己的新系统调用加在了0x900000+378位置上:

     

    修改 arch/arm/kernel 文件夹下的Makefile:

     

    4、             将树莓派现在系统上的内核配置文件(/proc/config.gz)拷贝到源码目录下,命名为.config:  (这里我遇到了一个问题,sudo的权限居然还不够,必须进入超级用户才能成功执行。)

     

    5、             设置两个后面要用到的环境变量

    编译器

     

    模块存放路径

     

    6、             确保配置文件已经更新

    make ARCH=arm CROSS_COMPILE=${ARMGCC} oldconfig

     

     

    7、             编译内核以及安装模块

     

    编译完成后继续安装模块

     

    8、             接下来是安装新内核,将 arch/arm/boot/Image 拷贝到树莓派SD 卡的/boot 目录下,新内核命名为new.img

     

    9、             修改 bootloader 配置文件,config.txt:将kernel_new.img 作为内核镜像。

    #最后一条语句改为:kernel = new_kernel.img

     

    10、       将安装完模块后的lib 目录全都拷贝到树莓派的/目录下,

     

    11、       重启树莓派

    uname –a查看当前内核版本号

    12、       编译运行测试程序用dmesg查看日志文件中的输出情况

     

    最后在dmesg 输出日志的末尾看到了预想的结果!

  • 相关阅读:
    httpVueLoader.js props传递参数
    iview自定义图标,render方式自定义图标
    C# MVC API WebSocket的聊天室案例
    CSS/HTML实现Switch开关按钮
    AndroidStudio打包Jar包给Unity使用的期间遇到的错误
    AndroidStudio4.0.1 打包 Jar包
    解决SVN异常 cleanup failed
    c++ sizeof的实现
    c++ 函数指针简单实例
    C++ socket 网络编程 简单聊天室
  • 原文地址:https://www.cnblogs.com/zxRPI/p/3014154.html
Copyright © 2011-2022 走看看