OpenWrt   HelloWorld程序开发入门

1、首先编译生成开发环境,在上一节已经提到(点击这里)

2、首先使用git命令获取源代码并创建SDK目录

3、把现有的helloworld工程拷贝到chaos_calmer/package目录下(如果需要helloworld工程的程序,请点击在这里)

(可以自己创建目录,输入代码)

3.1 目录 helloworld/Makefile:  

include $(TOPDIR)/rules.mkPKG_NAME:=helloworld
PKG_RELEASE:=1.0PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
PKG_CONFIG_DEPENDS :=include $(INCLUDE_DIR)/package.mk
define Package/helloworldSECTION:=utilsCATEGORY:=UtilitiesTITLE:=Hellworld Program
endefdefine Package/helloworld/descriptiona OpenWrt demo of Hello World .
endefdefine Build/Preparemkdir -p $(PKG_BUILD_DIR)$(CP) ./src/* $(PKG_BUILD_DIR)/
endefdefine Package/helloworld/install$(INSTALL_DIR) $(1)/usr/sbin$(INSTALL_BIN) $(PKG_BUILD_DIR)/helloworld $(1)/usr/sbin/helloworld
endef$(eval $(call BuildPackage,helloworld))

3.2 目录 helloworld/src/helloworld.c

#include <stdio.h>
int main()
{printf("hello world ! \t\n");return 0;
}

3.2 目录 helloworld/src/Makefile

CC = gcc
FLAG = -Wallhelloworld:$(CC) $(FLAG) helloworld.c -o helloworld

4、配置编译:

4.1 回到chaos_calmer目录。

输入命令:cd /home/sl/chaos_calmer

4.2 输入命令:make menuconfig

如果出现上图情况:Build dependency:Please install the Subversion client

说明你还没有完全安装编译OpenWrt所需的安装包,请输入以下命令:

sudo apt-get install zlib1g-dev gawk flex patch git-core g++ subversion

4.3 请选择Utilities--->选项

(为什么要选择这个选项?因为在Makefile中提到:CATEGORY:=Utilities)

4.4 在下图选项中,找到helloworld选项,然后输入M或者输入空格,直到尖括号<>里面是M(以模块方式插入内核)

T

4.5 选择目标文件的系统,选择X86

(进入Target System 选项,然后只勾选X86选项)

4.6 然后按下右键,选择<Exit>选项,然后再选择<Exit>选项,最后选择<Yes>选项,保存你的新配置

5 编译helloworld应用

5.1 输入命令:

make package/helloworld/compile V=99

5.2 如果出现下图错误:

make[2]: Leaving directory '/home/sl/chaos_calmer/package/libs/toolchain'

make[1]: *** [package/libs/toolchain/compile] Error    2

make[1]: Leaving directory '/home/sl/chaos_calmer'

make: *** [package/helloworld/compile] Error    2

说明你没有编译源源码。

输入命令:

make (需要等待3个小时左右,编译过程中需要连接外网)

再make编译过程中,有可能出现以下情况:(因为没有连接外网)

make -r world:build failed. Please re-run make with -j1 V=s to see what's going on

make:*** [world] Error 1

6 编译完成后,生成helloworld_1.0_x86.ipk安装文件

这个文件在chaos_calmer/bin/x86/packages/base目录下

7 在OpenWrt虚拟机系统中安装vsftpd

输入命令:

opkg update

opkg install vsftpd

8 在windows的cmd命令提示符中使用ftp把helloworld_1.0_x86.ipk安装文件上传到OpenWrt虚拟机系统中

8.1 把helloworld_1.0_x86.ipk安装文件拷贝到C:\Users\Administrator目录下

8.2 打开cmd命令提示符,输入ftp192.168.56.2命令(openWrt的ip),然后输入用户名和密码

8.3 输入lcd命令,可查看目前的本地目录

目前的本地目录 C:\Users\Administrator。

8.4 输入dir命令,可查看服务器(openWrt系统)的当前目录

8.5 上传helloworld_1.0_x86.ipk安装文件到openWrt系统中

输入命令:put helloworld_1.0_x86.ipk

8.6 使用opkg命令安装helloworld_1.0_x86.ipk文件,并且使用which命令查看helloworld安装在哪里,最后输入helloworld即可看到输出“hello world!”

输入命令:
    opkg install helloworld_1.0_x86.ipk

which helloworld

helloworld

https://blog.csdn.net/hui523hui523hui523/article/details/38366427

https://blog.csdn.net/jinchengzhou/article/details/46623605

OpenWrt HelloWorld程序开发入门 (三)相关推荐

  1. 教孩子学编程python语言pdf_iOS(iPhone)应用程序开发入门视频教程(35讲)

    资源名称:iOS(iPhone)应用程序开发入门视频教程(35讲) 资源目录: [IT教程网]ios(iPhone)应用程序开发入门视频教程:第10讲多视图应用程序 [IT教程网]ios(iPhone ...

  2. 小程序onload_微信小程序开发入门之共享账本(十四)

    微信小程序开发入门之共享账本(十四) (备注:微信小程序的wxml文件相当于HTML文件,wxss文件相当于CSS文件,js文件就是JavaScript文件,数据库为NoSQL数据库,数据库脚本语言也 ...

  3. java队名,《JavaWeb程序开发入门》课后练习(含答案)

    <<JavaWeb程序开发入门>课后练习(含答案)>由会员分享,可在线阅读,更多相关<<JavaWeb程序开发入门>课后练习(含答案)(10页珍藏版)> ...

  4. 从零开始学前端第十七讲--微信小程序开发入门

    微信小程序开发入门 主讲人介绍 沁修,葡萄藤技术总监 项目经验丰富,擅长H5移动项目开发. 专注技术选型.底层开发.最佳代码实践规范总结 直播录屏版 https://v.qq.com/x/page/n ...

  5. 微信小程序开发入门(连载)—— Hello World

    上一篇:微信小程序开发入门(连载)-- 微信公众平台配置 3.1 微信开发者工具 前往 开发者工具下载页面 (https://developers.weixin.qq.com/miniprogram/ ...

  6. OPhone程序开发入门之音乐播放器

    OPhone程序开发入门之音乐播放器 OPhone平台提供了完整的多媒体解决方案.为开发者提供了统一的,简单易用的开发接口.本文首先介绍了OPhone平台的多媒体框架,然后详细介绍了 在OPhone平 ...

  7. 《微信小程序开发入门精要》——导读

    本节书摘来自异步社区<微信小程序开发入门精要>一书中的导读,作者 李宁,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 第1章 微信小程序入门 第1章第1节 ...

  8. android入门程序源代码,安卓程序开发入门

    您可能感兴趣的话题: 安卓程序开发入门 核心提示:本教程为大家介绍采用Eclipse软件来编写安卓Hello,World程序. 创建一个新项目是很简单的,只要你安装了Eclipse插件,并且你的Ecl ...

  9. Linux 应用程序开发入门

    Linux 应用程序开发入门 Neo Chen (netkiller) <openunix@163.com> 版权 © 2011, 2012 http://netkiller.github ...

最新文章

  1. 在线项目管理工具比较之二:LiquidPlanner
  2. 千金买宝刀 | 斜穿交叉路口对应的新颖的赛道
  3. OS X 下在代码中枚举所有进程的方法
  4. DB2数据库常用工具
  5. Linux学习总结 (未完待续...)
  6. 网站XML格式的网站地图(sitemap)格式
  7. 收到邮件怎么升级鸿蒙,鸿蒙2.0怎么升级 鸿蒙2.0升级方法
  8. centos 文件夹网络连接_CentOS的网络配置的命令详解
  9. 电音风靡全球,不了解一下吗?
  10. 总结定时器设计方法_PLC定时器(T)的工作原理及使用注意事项
  11. matlab灰度直方图均衡化_图像的灰度直方图、直方图均衡化、直方图规定化(匹配)
  12. linux 统计文件字节和行数,Linux命令-统计文件中的字节数、字数、行数:wc
  13. spring源码视频教程哪个好
  14. 我收集了12款自动生成器,无聊人士自娱自乐专用
  15. 计算机屏幕自己动,ipad屏幕失灵自己乱跳怎么办【图文】
  16. 纸壳CMS体验升级,快速创建页面,直接在页面中修改内容
  17. openwrt 开启p2p下载后不定时断流处理办法
  18. Linux环境变量和命令行参数
  19. 漂亮的html登录页面
  20. 正则筛选图片url(js)

热门文章

  1. maya arnold渲染带有金光雕像渲染测试
  2. 以太坊控制台源码分析
  3. 实用符号Alt+小键盘快输
  4. SAP QM 创建ROS维护检验工序,系统报错:Work center NMDC_QA plant NMDC does not exist for task list type S
  5. 记录狗血的这周末 我心态炸了
  6. Python K-means算法分析客户数据
  7. 各大IT公司待遇—公司更多,数据更加真实(最终版)
  8. Java体系化学习路线图
  9. 视频号情感账号怎么运营,视频号情感类大揭秘:国仁楠哥
  10. 助跑双十一 电商宝ceo马国良对话阿芙精油CEO杨寅