当前位置:网站首页 > 云服务教程 > 正文

w25q128jvsiq烧录教程(25q128fvsg烧写教程)



s5pv210(3) — 编译环境文章中我们能够编译一个固件烧写到板子中运行,本章我们解锁一个更便捷的启动方式。

s5pv210的ROM支持UART/USB下载,需要在虚拟机上编译一个DNW驱动。GitHub上有一份USB的DNW的驱动源码。下载后解压,进入执行,发现编译错误:
DNW编译错误
经过和这份Qunero/dnw4linux驱动对比,修改文件,注释掉这一行,再次编译即正常。

硬件配置:

  1. 选择USB启动模式
  2. 连接OTG到电脑
  3. 长按POWER开机,此时电脑会检测到有USB接入,松开POWER键USB设备会消失
    硬件配置步骤

一直按着POWER键,将设备连接至虚拟机。
虚拟机连接设备
使用查看系统日志,其中末尾的地方有我们刚刚连接USB的日志。可以看到USB的厂商ID为,产品ID为。
dmesg日志

  1. USB ID数据定义在文件中,打开这个文件发现它已经定义了 我们就不用添加了。
  2. 修改文件,参考Linux udev规则编写,在文件中每行末尾增加,再次安装覆盖,这样设备加载时的用户组就是了。
 

参考[project X] tiny210(s5pv210)上电启动流程(BL0-BL2)可知S5PV210的默认启动位置是,所以修改,将修改为。

修改完毕后编译,然后执行安装即可,涉及到驱动安装需要管理员权限。

 

安装完毕后,再次使用虚拟机连接设备,使用查看日志,可看到系统已经识别设备为。
设备识别日志
使用可以看到设备文件。
设备文件diaout用户组

查看本地用户的用户组,并添加本地用户到用户组。

 

至此本地用户可以直接访问设备了,也即不需要使用提权了。

工程的链接脚本需要修改 的地址以及的大小,如下。

 

链接脚本修改后重新编译,编译的bin文件可直接使用程序下载,也即DNW下载需要16字节文件头,但不关心文件头的数据。将bin使用程序处理,得到的镜像仍可用于SD卡烧录。

虚拟机连上设备后,执行即可完成下载,下载过程中需要按着电源键,下载完成后程序会运行起来,此时可以松开电源键,若需要重新下载则需要复位板卡重来。

DNW下载很方便但是每次下载需要先复位,然后按住POWER按键,下载的程序运行后才能松开POWER按键,考虑做个自动下载控制电路。开发板使用的是RS232 9针接口,实际通信只用到Tx/Rx两根线,我们可以考虑使用 两个信号线控制板卡复位以及POWER保持。

  1. RS232是±12V电平通信,市面上USB转RS232线多为±5V或±9V电平,都能正常通信。
  2. 板卡的复位键是低电平复位,该复位键一边接地,另一边直接连接核心板,核心板电路如下,并通过R198(0欧)连接到U17网口PHY的复位引脚上。
    核心板复位电路
  3. 下面是主板电源电路,途中Q5是P沟道增强型MOSFET,1脚低电平场管导通,MP1482使能,主板上电,1脚高电平场管截至,主板掉电。

电源电路

参考ESP8266/ESP32自动下载电路原理分析实现自动控制电路,真值表如下。

DTRRTS复位电源00高阻高阻010(复位)高阻10高阻0(上电)11高阻高阻主板的串口电路如下,DTS和RTS没有进行电平变换,也即DTS/RTS的低电平是,直接使用这个电平会有问题,又不想增加个电平转换芯片,就只能使用电阻分压。 串口电路由于事情过去一段时间了,部分参数记不清了,这里给出一个大致的图,部分地方的电阻可以更大,可以在±9V和±5V上寻找一个平衡,两者都可以使用,图中电源不是电源按键,是Q5场管的1号脚,复位是连接复位按键。 电路图

我这里选择了UART2,ROM也使用UART2进行DNW下载,实物图如下。
实物图

经测试这个电路能够满足自动下载电路的需求了,但是距离自动下载还差一步,即编写个程序自动完成串口操作

参考Linux串口调试详解编写串口控制代码。开发板选择USB启动时,按下电源键UART2会打印如下图。Ubuntu下安装putty,打开串口,波特率。
UART打印

可以通过串口日志判断设备进入DNW模式,Linux下串口设备文件默认可以共享,若有多个程序读串口数据,串口数据会随机传输到任一接收者,其他读取者将丢失数据,考虑到串口复用问题,故采用采用判断文件是否存在,然后调用程序进行下载,此处串口控制程序仅控制DTR/RTS的电平,不读数据。另外,下载的程序运行后设备文件还存在,直至OTG重新注册才会消失,由于虚拟机挂载设备比较慢,再次下载时会存在问题,故程序执行复位后先判断是否存在,若存在则等待它消失,然后再等待它可用,依此判断设备重新连接了。

adnw.c

 
 

编译运行

 

我将的安装路径改为了,因为是root权限,需要使用提权,但是出现以下错误。

 

经查找是因为路径不在的查找范围内。参考执行sudo命令时command not found的解决办法解决。

  1. 在/etc/sudoers文件内增加这么一行:Defaults secure_path=”/bin:/usr/bin:/usr/local/bin:…”, 把要用的命令path包括进去。
  2. 用命令的绝对路径。
  3. 使用sudo的env选项,像这样sudo env PATH=$PATH cmd.sh。
  4. 把脚本拷贝或链接到系统$PATH中。

修改文件,在文件中每行末尾增加,再次安装覆盖,这样设备加载时任意用户均可访问该设备。

 

上一篇:s5pv210(3) – 编译环境
下一篇:s5pv210(5) – 再续前缘
目录:s5pv210 – 集合

在Linux中安装dnw
[project X] tiny210(s5pv210)上电启动流程(BL0-BL2)
Linux串口编程
Linux串口调试详解
ESP8266/ESP32自动下载电路原理分析
执行sudo命令时command not found的解决办法

到此这篇w25q128jvsiq烧录教程(25q128fvsg烧写教程)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 2258xt开卡设置(2259xt开卡教程)2025-04-17 07:45:10
  • u盘启动盘的制作流程(u盘做启动盘教程盘启动盘制作工具)2025-04-17 07:45:10
  • 阿里云centos7.x安装jdk+tomcat2025-04-17 07:45:10
  • 阿里云centos7安装2个tomcat,用nginx实现负载均衡2025-04-17 07:45:10
  • 阿里云centos7服务器卸载openJDK并安装jdk2025-04-17 07:45:10
  • webflux教程(webflux入门)2025-04-17 07:45:10
  • 反激电路工作原理视频(反激电路工作原理视频教程)2025-04-17 07:45:10
  • 怎样制作u盘启动盘 重装系统(怎样制作u盘启动盘 重装系统教程)2025-04-17 07:45:10
  • ad21安装及破解教程(ad18安装及破解教程)2025-04-17 07:45:10
  • st7735s视频教程(st7735配置说明)2025-04-17 07:45:10
  • 全屏图片