码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • RK3568-buildroot添加用户应用程序


    RK3568-buildroot添加用户应用程序(以alsa_capture为例)

    1 在/buildroot/external/alsa_capture/src/目录下

    编写alsa_capture.c文件

    #include 
    #include 
    
    int main(int argc, char *argv[])
    {
    	printf("hello world\r\n");
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    编写Makefile文件

    Target = alsa_capture
    CPP = aarch64-linux-gcc
    LIBS =
    all: $(Target)
    $(Target):alsa_capture.c
    	$(CPP) alsa_capture.c -o $(Target) $(LIBS) 
    	@echo "generate $(Target) success!!!"
    	
    .PHONY:clean cleanall
    clean: 
    	@rm -f $(Target)
    cleanall:clean
    	@echo -e '\e[1;33m -rm -f $(INSTATLL_PATH)/$(Target) \e[0m'
    distclean:cleanall 
    install:
    	@echo -e '\e[1;33m  install -m 0755 $(Target) $(INSTATLL_PATH)/$(Target) \e[0m'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    2 在/buildroot/package/rockchip/alsa_capture/目录下

    编写Config.in文件

    config BR2_PACKAGE_ALSA_CAPTURE
    	bool "Simple ALSA Capture Demo"
    
    • 1
    • 2

    编写alsa_capture.mk文件

    #############################################################
    #
    # alsa_capture
    #
    #############################################################
    ALSA_CAPTURE_VERSION = 1.0
    //源码的版本号:1.0
    
    ALSA_CAPTURE_SITE = $(TOPDIR)/external/alsa_capture/src
    //源码下载地址:源码路径
    
    ALSA_CAPTURE_SITE_METHOD = local
    //源码下载方式:本地
    
    #ALSA_CAPTURE_LICENSE = Apache V2.0
    #ALSA_CAPTURE_LICENSE_FILES = NOTICE
    
    define ALSA_CAPTURE_BUILD_CMDS
    	cd $(@D);$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
    endef
    //在buildroot框架编译的时候执行,用于给源码的Makefile传递编译选项和链接选项,调用源码Makefile。
    
    define ALSA_CAPTURE_INSTALL_TARGET_CMDS
    	find $(@D) -name "alsa_capture" -type f -executable -print -exec cp -vf {} $(TARGET_DIR)/usr/bin/ \;
    endef
    //buildroot编译完成后执行,将编译出来的bin或lib文件拷贝到指定目录。
    
    $(eval $(generic-package))
    //把整个.mk构建脚本,通过Buildroot框架的方式,展开到Buildroot/目录下的Makfile中,生成的构建目标。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    3 在/buildroot/package/rockchip/Config.in文件下

    添加source "package/rockchip/alsa_capture/Config.in"
    
    • 1

    4 在/buildroot/configs/OK3568_defconfig文件下

    添加BR2_PACKAGE_ALSA_CAPTURE=y
    
    • 1

    5 在/buildroot/output/OK3568/build/alsa_capture-1.0文件夹下查看是否生成可执行文件

    alsa_capture.c:源文件
    Makefile:源文件
    alsa_capture-1.0.tar:可执行文件压缩包
    alsa_capture:可执行文件
    
    • 1
    • 2
    • 3
    • 4

    6 在/buildroot/output/OK3568/target/usr/bin文件夹下查看拷贝的可执行文件

    alsa_capture.mk文件指定了可执行程序安装路径到/usr/bin目录下。
    
    • 1
  • 相关阅读:
    ModuleNotFoundError: No module named ‘Crypto.Cipher‘或‘Crypto 的终极解决方案
    3.1、Linux的vim编辑器
    [附源码]计算机毕业设计JAVAjava航班资源车管理系统
    Positive Technologies 在迪拜宣布与地区网络安全解决方案提供商开展合作
    这代码运行超时,怎么优化
    java毕业设计俄语等级考试管理系统.Mybatis+系统+数据库+调试部署
    16:第二章:架构后端项目:12:配置mybatis;(在【imooc-news-dev-service-user】这个微服务子工程上,配置)
    codeforces:A. Writing Code【三维dp + 优化一维】
    RISC-V架构——中断委托和中断注入
    用于无功补偿的固定电容晶闸管控制反应器研究(Simulink)
  • 原文地址:https://blog.csdn.net/qq_42952079/article/details/126364409
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号