golang1.9编译openwrt运行程序 ,window7下liteide编译

2023-11-19

网上看了好多资料发现都很过时了,基本都是用的https://github.com/gomini/go-mips32编译的。

但是go1.9早就支持mips了,设置好编译参数,开始build,这时在go/pkg下会出现linux_mips目录,就是编译环境,其他的一样。

  • GOOS是你的应用程序将要运行平台的操作系统
  • GOARCH是你的应用程序将要运行平台的处理器架构。

有效的$GOOS$GOARCH组合如下:

    $GOOS        $GOARCH
    android     arm
    darwin      386
    darwin      amd64
    darwin      arm
    darwin      arm64
    dragonfly   amd64
    freebsd     386
    freebsd     amd64
    freebsd     arm
    linux       386
    linux       amd64
    linux       arm
    linux       arm64
    linux       ppc64
    linux       ppc64le
    linux       mips
    linux       mipsle
    linux       mips64
    linux       mips64le
    netbsd      386
    netbsd      amd64
    netbsd      arm
    openbsd     386
    openbsd     amd64
    openbsd     arm
    plan9       386
    plan9       amd64
    solaris     amd64
    windows     386
    windows     amd64

1.首先通过putty连接到路由器,看看路由器cpu架构,我这里连接wr720n-v3,如下图

 cat /proc/cpuinfo

cpu model                                 :   MIPS 24Kc V7.4  说明是mips架构

还要看该cpu架构是big还是little,具体不知道怎么看,参考下面即可:

big:用mips,如ar71xx是big
little:用mipsle,如小米、极路由等MT76xx是little

2.go可以通过GOARCH和GOOS设置编译后程序的运行架构和系统,所以在编译时设置环境如下:

我是在window7下liteide编译,直接加个环境文件(liteide32.1\share\liteide\liteenv\linux32-mips.env):

GOARCH=mips
GOOS=linux

3.golang编写如下代码,直接build,不要run:

package main

import (
    "fmt"
    "time"
)

func main() {
    for {
        fmt.Println("1111")
        time.Sleep(1 * time.Second)
        for {
            time.Sleep(1 * time.Second)
            fmt.Println("2222")
            break
        }
    }
}

4.用WinSCP将程序文件“openwrtTest“放到openwrt系统里面,这里放置到/tmp下,设置文件权限:

chmod 777 -R /tmp/openwrtTest

5.运行文件,顺利搞定。这里如果已经进入tmp目录的话用./openwrtTest

/tmp/openwrtTest

 6.运行时可能出现"Illegal instruction",那是因为openwrt内核中没有开启FPU

#1、可以设置
GOMIPS=softfloat
#2、或者开启FPU重新编译。

参考以下网址https://blog.csdn.net/qq531456898/article/details/80095707或者http://www.iytc.net/wordpress/?p=1564

 7.运行时可能出现"syntax error: unexpected "("",那是因为编译时mips或者mipsle不对

转载于:https://www.cnblogs.com/lxsky/p/8193988.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

golang1.9编译openwrt运行程序 ,window7下liteide编译 的相关文章

  • 在 Codeigniter 中添加表前缀以加入

    我设置了 Codeigniter 将前缀 kms 添加到我的活动记录查询中 但是 我尝试使用两个 ON 条件进行连接 但它不会将它们放在前面 现在我必须像这样手动添加它们 this gt db gt join site items kms
  • 在单个测试中断言多个条件,还是分成多个测试? [复制]

    这个问题在这里已经有答案了 如果您正在测试如下所示的计数函数 那么在一个函数中测试该函数的多项内容与为每个测试使用一个测试函数相比 是否被认为是 正确 或 错误 function testGetKeywordCount tester thi
  • PHP - 如何查看服务器是否支持 TLS 1.0?

    我正在编写一个简单的检查器 您可以在其中输入一个 URL 该检查器将检查输入的 URL 是否使用 TLS 1 0 1 1 或 1 2 本质上 我想显示一条消息 Yoursite com 正在使用 TLS 1 0 建议禁用此功能 问题是 只有
  • PHP set_include_path 的“起点”是什么

    在 PHP 中 set include path 相对于什么 它是 PHP exe 所在的文件夹吗 是网络根吗 换句话说 set include path 或 set include path 指的是哪个文件夹 相对路径是从文件所在位置解析
  • Jwt 令牌是唯一的

    我正在使用 JWT 网络令牌系统 我能够成功生成令牌 我在 Laravel 中创建 JWT 令牌 如下所示 我正在使用以下技术堆栈 拉拉维尔 5 2 http laravel com 框架 JWT 包裹 https github com t
  • 检查 2 个数组是否至少有 1 个相等的值 [重复]

    这个问题在这里已经有答案了 目前我有2个数组 array 1 2 3 4 array 4 5 6 7 我如何检查它们是否至少有一个相等的值 上面的示例有 1 个相等值 gt 4 因此该函数应返回 true 数组相交 http php net
  • PHP 中的 Rss 阅读器

    header Access Control Allow Origin tmpFile tmpFile txt val http rss news yahoo com rss topstories curlHandle curl init v
  • 将数据插入多个表 PHP MySQL

    我有一个用于存储食谱的基本数据结构 它由三个表组成 如下所示 表 1 食谱 recipe id recipe name 表 2 成分 成分 ID 成分名称 表 3 配方 成分 配方 id 成分 id 我在添加新配方时遇到问题 想知道插入的最
  • mysqli_result 无法转换为 int [重复]

    这个问题在这里已经有答案了 我想将 SQL COUNT 的结果存储在变量中 然后将它们相除 但是出现错误 注意 类 mysqli result 的对象在 中无法转换为 int countrows SELECT count AS NumRow
  • 迭代亚马逊S3上文件夹中的对象

    我们有一个应用程序 用户可以创建自己的网页并托管它们 我们使用 S3 来存储静态页面 在这里 由于我们每个用户有 100 个存储桶的限制 我们决定为每个用户使用文件夹桶内的用户 现在 如果用户想在他的域上托管他的网站 我们会向他询问域名 当
  • 在 PHP 中显式声明属性重要吗?

    我按照教程用 PHP 创建了一个简单的博客写作应用程序 并修改了本教程中的类 以便它们具有附加功能 修改这个非常简单的应用程序让我更好地了解了 PHP 的工作原理 但是我遇到了一个有趣的情况 我的项目中的一个类有大约六个类属性 例如publ
  • 使用列模数的更简洁方法

    我目前有一个人员列表 我已将其分为两列 但在完成代码后 我一直想知道是否有更有效或更干净的方法来完成同样的事情 echo table class area list tr Loop users within areas divided up
  • 如何将javascript变量放入php echo [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想将 JavaScript 变量添
  • Laravel 5.4 上传原始文件名和扩展名

    通过表单提交文件时 如何将原始文件名 file jpg 上传到数据库 控制器 public function addCv Request request cv Cv create request gt all file request gt
  • 流浪家园慢

    我有一个基于 Laravel Homestead 的 vagrant 服务器 用于在本地测试我的 Laravel 站点 大部分情况下它运行得很好 然而 最近 我遇到了问题 它会停止几分钟 典型 到几个小时 罕见 这种情况每 15 分钟左右就
  • 弹出窗口显示来自 php 和 javascript 的结果

    我正在尝试实现 javascript 来显示 php 的结果 基本上 我有一个登录页面 对于登录失败 我希望结果显示在弹出窗口中 而不是仅仅用 php 回显它们 我尝试实现警报框 但看起来我错过了一些东西 成功登录将被重定向到logged
  • PHP 一次只能看到 20 个上传文件

    当我尝试一次上传超过 20 个文件时 网络服务器只能看到前 20 个文件 任何其他文件都会被忽略 问题是什么 简单的代码可以尝试
  • 使用PHP检测IE浏览器版本

    我正在使用 SERVER HTTP USER AGENT 来检测用户的浏览器 当我在 IE8 上的本地主机上运行 var dump 时 它返回 兼容的 微星8 0 但是当我将其上传到我的主机 godaddy 时 我得到 兼容的 MSIE 7
  • PHP Money_format(); £ 符号不是 GBP

    我不知道如何获取货币符号 目前我正在使用 setlocale LC MONETARY en GB money format i 1000 这给了我输出 GBP1 000 但我想要 1 000 我已经查看了 PHP 手册 但没有多大帮助 有任
  • XPath 节点到字符串

    如何选择以下节点的字符串内容 span class url word b class test b span span class url word b class test2 b more words span 我尝试过一些事情 span

随机推荐

  • SD卡初始化以及命令详解

    SD卡是嵌入式设备中很常用的一种存储设备 体积小 容量大 通讯简单 电路简单所以受到很多设备厂商的欢迎 主要用来记录设备运行过程中的各种信息 以及程序的各种配置信息 很是方便 有这样几点是需要知道的 SD 卡是基于 flash 的存储卡 S
  • Visual Studio 创建DLL 、LIB及调用

    一 前言 在工程中 经常会根据不同的场景需求将类封装成库文件 以供他人使用 那么如何利用VS进行库 动态库 的生成呢 以下简要演示实现过程 开发环境 VS2019 二 生成DLL动态库 1 创建控制台工程 添加类库函数 2 添加函数代码 d
  • vue打包及运行白屏,Android低版本适配

    版本支持 对于Android 4 X无法打开的问题 具体表现 1 运行后低版本谷歌浏览器打开后白屏 2 打包后低版本Android系统打不开 白屏 打包前npm run build后低版本浏览器打开白屏 如果低版本打开白屏那么打包后低版本A
  • CUDA系列三:矩阵相乘

    本博文主要讲解下基于cuda的矩阵相乘 cuda特别擅长的就是矩阵乘法 而且也比较容易实现 通过矩阵乘法的实现 可以比较容易理解cuda的核心思想 网上也有很多基于cuda实现的矩阵乘法 但是感觉都不完成 要不就是有错 本文给出的代码都是经
  • C#学习记录(47)MSSQL数据库

    引言 微软数据库是针对中小型企业的关系型数据库 操作简单易上手 首先介绍下C NET的数据库 以 ActiveX 数据对象 ADO 为基础 以 XML 扩展标记语言 为格式传送和接收数据 C NET应用程序 lt gt ADO NET lt
  • 特征值和特征向量的几何和物理意义

    原文 http blog 163 com renguangqian 126 blog static 1624014002011711114526759 FUCk 相见很晚 如果大学期间遇到这样的文章 线代必须90分以上 特征值和特征向量的几
  • vsCode中live server插件的安装及使用

    live server 插件是用来干嘛的 本地开发常常需要搭建临时的服务 作用 1 模拟服务器的方式打开页面 2 代码改动后 会自动刷新页面 安装 使用 1 使用要求 要求项目文件夹 Demo 要单独出现在vscode侧边栏 以下两种都可以
  • 软件设计风格(干货)-架构师之路(九)

    一 软件架构风格概念 Architecture架构 体系结构 软件体系结构风格是 描述某一特定应用领域中 系统组织方式 的惯用模式 架构风格定义一个系统家族 即 一个架构的定义 一个词汇表和一组约束 词汇表包含 一些构建和连接类型 而一组约
  • 你工作效率低,可能是因为不会Python

    前言 你是不是感觉你的工作非常无聊 每天有大量的重复性的工作要做 比如在我的工作中 就有很多类似的动作 每天早上要看我们DevOps流水线跑出的结果 查看各个微服务中的重复代码率是多少 有没有增加 CleanCode中的各项指标怎么样 代码
  • 微信加拿大服务器,微信新功能,在加拿大也可以任意刷人民币了

    原标题 微信新功能 在加拿大也可以任意刷人民币了 2018 6 11 加币 人民币 4 877 加币 美金 0 757 近日 微信悄悄上线了一项新功能 这就是 亲属卡 什么是 亲属卡 简单来说 就 是 你消费 别人买单 这项功能对于我们身在
  • 2021-01-10

    RIP 协议 一 合理分配IP地址 二 配置IP地址 三 运行RIPV 2 例R1 四 配置缺省路由 五 RIPV2 认证 例R1 六 配置空接口路由 防环 例R1 七 全网可通
  • 成员变量与局部变量的区别有哪些

    成员变量是在类内部定义的变量 在类的任何方法中都可以直接使用 其作用域为整个类 成员变量有默认值 如果没有给定初始值 数值类型默认为0 布尔类型默认为false 对象类型默认为null 局部变量是在方法 代码块 循环等内部定义的变量 其作用
  • 【羊了个羊】Burp抓取IOS微信小程序数据包

    描述 最近 小游戏 羊了个羊 在朋友圈刷屏 网友纷纷表示 游戏开发者多少有个病要治 本文记录 如何使用Burp抓取ios微信小程序数据包 工具准备 Burp 苹果手机 wifi 设置记录 手机和电脑连接同一wifi burp设置新代理 手机
  • 人脸分割 人脸解析 源码推荐

    2021年 有预训练 resnet50 126m 测试代码 python face warping test py i 0 e rtnet50 decoder fcn n 11 d cuda 0 Command line arguments
  • html js c 代码大全,js常用汇总

    javascript 代码库JS函数修改html的元素内容 及修改属性内容 document getElementById aid innerHTML World document getElementById aid href http
  • CBAM——即插即用的注意力模块(附代码)

    论文 CBAM Convolutional Block Attention Module 代码 code 目录 前言 1 什么是CBAM 1 Channel attention module CAM 2 Spatial attention
  • hexo的美化——拓展篇

    基础知识 css样式 hexo themes next source css 是next主题的样式文件 决定主题的外观 hexo themes next source css main styl 汇总css文件夹中所有的样式 hexo th
  • 一段有意思的异步代码片段

    毫不夸张的说 下面的代码会有一半的人输出错误 上代码 async function getCount id return id let count 0 async function addCount num count await getC
  • 深度学习入坑笔记之二---手写体图像识别问题

    深度学习入坑笔记之二 手写体图像识别问题 目录 前言 通过softmax进行手写体图像建模及识别 数据导入 softmax建模 训练模型 模型评估 通过卷积网络进行手写体图像建模及识别 初始化权重 定义卷积层及池化层 添加层 训练及评估模型
  • golang1.9编译openwrt运行程序 ,window7下liteide编译

    网上看了好多资料发现都很过时了 基本都是用的https github com gomini go mips32编译的 但是go1 9早就支持mips了 设置好编译参数 开始build 这时在go pkg下会出现linux mips目录 就是