交叉编译esp8089
交叉编译esp8089
编译环境:
硬件:全志R528
ubuntu:Linux ubuntu 4.15.0-194-generic #205-Ubuntu SMP Fri Sep 16 19:49:27 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
内核:tina-r528/lichee/linux-5.4
第一步克隆代码: git clone https://github.com/Lichee-Pi/esp8089.git
第二步配置好交叉编译器
ARCH=arm CROSS_COMPILE=arm-openwrt-linux- make -C /home/kerson/tina-r528/lichee/linux-5.4/ M=${PWD} modules
说明:内核源码路径:/home/kerson/tina-r528/lichee/linux-5.4/
第三步配置脚本
insmod /run/esp8089.ko config=crystal_26M_en=1
sleep 1
ifconfig wlan0 up
usleep 100000
killall wpa_supplicant
wpa_supplicant -i wlan0 -c /etc/wifi/wpa_supplicant.conf &
sleep 1
udhcpc -i wlan0 &
碰到的问题:
发现的问题源码中暂时找不到wifi_en 管脚的操作。reboot重启系统时esp8089设备不能重新注册。
暂时的解决方法时,内核写一个简单的驱动单独操作这个管脚。
将原来的rola.c驱动源码更改为只操作一下wifi_en管脚。
将 cp lichee/linux-5.4/drivers/watchdog/rola.c wifi_en.c
vi wifi_en.c
static int __init rola_dev_init(void)函数其他都注释掉。
增加
int gpio_ret = gpio_request(GPIOB(1), "PB1");
gpio_direction_output(GPIOB(1), 0);
msleep(50); /*原来5的时候,烧录完成wifi模块启动不了*/
gpio_direction_output(GPIOB(1), 1);
gpio_free(GPIOB(1));
printk("==============================\n"); ssize_t rola_drv_read(struct file *filp, char __user *buf, size_t count, loff_t *fpos)
ssize_t rola_drv_write(struct file *filp, const char __user *buf, size_t count, loff_t *fpos)两个函数中的内容也注释掉。
修改Makefile 直接编译到内核
vi lichee/linux-5.4/drivers/watchdog/Makefile
obj-y += rs485.o
#obj-y += rola.o
obj-y += wifi_en.o
交叉编译esp8089的更多相关文章
- Linux主机上使用交叉编译移植u-boot到树莓派
0环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS: Debian Jes ...
- Ubuntu 16.04 安装 arm-linux-gcc 嵌入式交叉编译环境 问题汇总
闲扯: 实习了将近半年一直在做硬件以及底层的驱动,最近要找工作了发现了对linux普遍要求很高,而且工作岗位也非常多,所以最近一些时间在时不时地接触linux. 正文:(我一时兴起开始写博客,准备不充 ...
- Linux 14.04lts 环境下搭建交叉编译环境arm-linux-gcc-4.5.1
交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构的程序代码,在该环境下编译出嵌入式Linux系统所需要的操作系统.应用程序等,然后再上传到目标板上. 首 先要明确gcc 和arm-linux- ...
- Linux主机上实现树莓派的交叉编译及文件传输,远程登陆
0.环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS:官网下的的raspb ...
- FFmpeg和X264的交叉编译环境
在下载好了FFmpeg和X264的源码包之后,在Linux下进行安装的基本流程就是切换到其源码的根目录,然后以此执行以下命令.基本上所有的开源源码包的默认编译安装都是这三步. ./configure ...
- Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)
Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程) 声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级 ...
- Ubuntu 树莓派2b交叉编译环境
在一个平台上生成另一个平台上的可执行代码.为什么要大费周折的进行交叉编译呢?一句话:不得已而为之.有时是因为目的平台上不允许或不能够安装所需要的编译器,而又需要这个编译器的某些特征:有时是因为目的平台 ...
- Ubuntu实现树莓派交叉编译
一.交叉编译 在一个平台上生成另一个平台上的可执行代码.为什么要大费周折的进行交叉编译呢?一句话:不得已而为之.有时是因为目的平台上不允许或不能够安装所需要的编译器,而又需要这个编译器的某些特征:有时 ...
- 交叉编译总结 libosscore.a libcurl.a libmysqlclient.a
把工程文件交叉编译到arm上运行,着实花费了一番功夫. 首先遇到的错误是 X uses VFP register arguments, B does not 百度了一下,发现是硬浮点和软浮点的问题,原 ...
- docker搭建ros-indigo-arm交叉编译环境
ROS运行环境:ARM ubuntu14.04 + ROS indigo在arm环境下编译ros应用程序,速度极慢,无法忍受,尝试在x86机器上搭建docker+ros交叉编译环境. 交叉编译环境的搭 ...
随机推荐
- 如何规范App广告的隐私获取,让用户拥有更多知情权?
随着互联网的不断普及,越来越多老百姓使用智能设备触达互联网.但用户经常发现自己无意间提到的东西,打开App就收到相关产品的广告推送,甚至有人怀疑手机App是通过麦克风来窃取自己平时聊天信息中的关键词进 ...
- Java多线程(5):CAS
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 在JDK1.5之前,Java的多线程都是靠synchronized来保证同步的,这会引起很多性能问题,例如死锁.但随着Java的不断完善,JNI ...
- 题解 UVA439 骑士的移动 Knight Moves
前言 最近板子题刷多了-- 题意 一个 \(8\times 8\) 的棋盘,问马从起点到终点的最短步数为多少. \(\sf Solution\) 要求最短路径嘛,显然 bfs 更优. 读入 这个读入处 ...
- Linux正则表达式与grep
bash是什么 bash是一个命令处理器,运行在文本窗口中,并能执行用户直接输入的命令 bash还能从文件中读取linxu命令,称之为脚本 bash支持通配符.管道.命令替换.条件判断等逻辑控制语句 ...
- python tcp select 多路复用
1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 # 文件名:tcpserver.py 4 5 import socket 6 import time 7 ...
- element-plus 消息提示
用来显示「成功.警告.消息.错误」类的操作 <template> <el-button :plain="true" @click="open2" ...
- Linux系统部署Jenkins
搭建Jenkins,准备搞一个定时任务来自动部署服务.做个记录. 问题写在前头:①建议使用最新版的Jenkins版本,jdk版本要跟Jenkins版本对应(有要求):②最好使用war包部署Jenkin ...
- 这是不是你想要了解SQL的艺术,基础语法等等
一.基础sql语句: 模块定义 基础语句 基础功能 数据定义 create table 创建数据库表 drop table 删除数据表 alter table 修改表结构 create view 创建 ...
- 2022春每日一题:Day 11
题目:高斯消元法 高斯消元法是一个模板,下面简单介绍其内容以及实现方法. 高斯消元是求一个求多元一次方程组的解的算法. 就是形式如下的关于x1,x2...xn的方程组的解. a11x1 + a12x2 ...
- oracle常用查看命令
select sum(bytes/1024/1024/1024) from dba_segments; #注:查看表空间大小,除以3个1024后的大小为GB du instance_name(实例 ...