主题: WaveCOM Q2406
查看单个帖子
旧 2011-09-01   #1 (permalink)
admin
论坛管理员
 
admin 的头像
 
注册日期: 2009-06-30
帖子: 861
admin 的声望功能已被禁用
默认 WaveCOM Q2406

WaveCOM Q2406




上电后, ROM被映射到0×0, 此时ROM的程序开始运行,检测boot引脚pin12(GPIO)是否为低电平,
1)如果是低电平,ARM7内核进入ROM的内部启动过程初始化时钟, 初始化串口为2400bps,等待 PC的查询, 以便从串口下载loader程序,进行flash和eeprom的更新
从串口接收完loader程序后,判断是否为合法的loader程序. 最开始处连续的存放的32个字节,也就是8条指令必须是跳转指令(EA 00)或者装载PC的指令,其实这样规定就是把这8条指令当作是异常向量表来处理)
找到的loader映像搬到SRAM中去,所以映像的大小是非常有限的,不能超过128K的大小(总共512K的SRAM, 总要留给数据一部分空间吧)
当BOOT程序完成了把合法的loader映像搬到SRAM的任务以后,接下来就进行存储器的Remap,经过remap之后,SRAM从0×100 0000 地址处被映射到了0×0地址并且程序从0×0处开始执行
此时,所谓的downloader开始运行,初始化串口为115200, 检测CPU型号, Flash型号,大小, 通过串口把这些数据报上去, 然后接收Flash Image,
2)如果是高电平, 重新映射flash到0×0, 进入nor flash执行正常的启动过程
100 0000 — 1008000 512K SRAM (从16M的地址开始, 映射的RAM)
0 0000 — 7 FFFF Flash (其实ROM RAM 都可以映射到这里,起初是ROM映射到这里, downloader下载后,将RAM映射到这里)
Firmware升级
推荐使用标准的Xmodem协议升级.应用程序应该允许通过外部连接器直接访问WISMO的串口,或者实现其他机制,允许WISMO固件通过
Xmodem 协议下载
1.通过xmodem协议,与嵌入firmware中的downloader交互, 将固件下载
发送AT+WDWL命令,进入升级模式
对于Xmodem下载,有几个串口信号必须被处理:Rx,Tx, RTS, CTS和GND
这种方法不适合空白的Flash,因为没有firmware在里面
为了减少下载的时间,可以将串口的速率设置成115200bps, 执行下面的AT命令就可以:
1)AT+IPR=115200
2)AT+WDWL
3)file transfer
4)AT+CFUN=1 (复位模块)
在执行完最后一个命令后,串口将被设置成默认的9600bps
设置超级终端,波特率为 115200 bps,奇偶校验:无, 数据位:8, 停止位:1,流量控制:无
在超级终端中输入“AT”如返回“OK”,则说明PC 与模块通讯正常。
AT+CCID
超级终端升级配置
数据速率 115200
数据位 8
奇偶校验 无
停止位 1
流控 硬件
Flash中必须有可用的firmware,也就是说 可以正常执行x-modem协议
2.备份
在简单升级模式不可用(因为flash上有严重故障), 可以使用备份过程. 这种模式下, Flash上的代码被部分或者全部绕过,而不执行.基带处理器运行一个内部程序,通过一个专有的协议,与PC进行通信,从而下载firmware,进行升级
它需要一个WAVECOM指定的软件来下载firmware到模块. DWLWin能在boot模式同基带处理器通信,更新其软件.它有图形界面可以方便地配置和监视下载过程.
对于生产目的,它的自动化接口,可以同时连接多个串口,并行地下载软件到多个基带处理器
这个工具运行在一个通过串口与模块连接的PC上
在下载过程中必须处理的串口信号是:Rx,Tx,RTS,CTS和GND
在运行下载工具前, 模块必须被设成下载模式.也就是在上电或者复位时BOOT信号必须被设置成低电平
657g00_full_q2406b.dwl含有
6.57g00二进制版本
通用E2P 配置 (相当于以前的w.dwl 文件)
Q2406B的特定E2P 配置
(但不包含下载器 dwl.dwl)
升级过程:
1)连接开发板的 COM口,启动模块
2)在超级终端里,键入AT, 然后回车, 模块应该返回一个OK
3)检查模块里的下载器(downloader)DWL的版本,是否与要更新的firmware里的DWL一致或者兼容
超级终端里 键入 at+wdwl? 就可以查询下载器的版本
如果下载器是坏的, 必须载入新的下载器. (选择dwl.dwl作为下载文件),当下载完成后,模块重启后,重复下面的过程来下载新的AT 二进制
firmware
a)键入 at+wdwl, 回车, 模块回应:
+WDWL:0
……
b)从菜单里选择,传输/发送一个文件
c)选择协议:1k Xmodem
d)选择要下载的dwl文件
e)验证,下载开始
f)当新的字符”"接收后,下载完成
g)用”AT+CFUN=1″重启模块,等待”OK”返回
RS232连接
开发板是一个DCE, 能够通过”直接连接电缆”链接到DTE(PC或者应用终端)
• TX data
• RX data
• Request To Send
• Clear To Send
• Data Terminal Ready
• Data Set Ready
6线接口可用,兼容于V24协议
另外两根线是
Data Carrier Detect
Ring Indicator
Ground 地线
升级模块要下载的东西
GSM协议栈的二进制代码
存在EEPROM中工厂默认参数
下载器是包含在 协议栈二进制代码中,然而,下载器是完全独立于协议栈运行的
模块复位时, 如果GSM 协议栈代码是处的(virgin)或者坏的(corrupted), 下载器将会运行
如果用户通过AT+WDWL命令,请求运行下载器
-Flash的内存布局
EEPROM参数(RF参数,IMEI,校正参数,ADC等)
结构化数据(电话本,短信)
客户嵌入式固件OpenAT
GSM/GPRS协议栈
下载器dwl.dwl
wavecom几个特有的AT命令
at+cgmi 查询模块制造商
at+cgmm 查询支持的频段
ati3或者AT+CGMR 查询firmware版本信息
at+cgsn 产品序列号(从EEPROM中读取出来的IMEI)
at+wimei? 也是查 IMEI
at+wdwl? 查询下载器版本信息
DWLWin
1)选择CPU类型为 WISMO 2-3 或者 Q2406
2) Erase Objects和Erase Customization Filse要选上
pro-dwl.wpb 协议栈二进制文件
w.e2p 通用E2P文件
q2406b.e2p 模块特定的E2P文件
所有文件必须同时下载
扩展名为.wpk的单个安装包(install package)提供了firmware和它的相关设置,参数. 可用来替代所有二进制和EEPROM配置文件
执行必要的下载操作,安装firmware到flash中
转换
genbin.exe -bin ads_main_256KB.wpb -dwl ads_main_256KB.wpb.dwl -header BINCOM
-adr 0×00260000
python.exe -E gendwl.py –bin
ads_main_256KB.wpb -dwl ads_main_256KB.wpb.dwl -adr 0×00260000 -header COMPBIN
gendwl.py –bin gcc_hello.wpb –dwl lizhiwei.dwl –addr 0×00210000 –header COMPBIN
genbin.exe -bin gcc_hello.wpb -dwl lizhiwei_cyg.dwl -header BINCOM -adr 0×00210000
__________________

让世界倾听我们的笛声
admin 当前离线   回复时引用此帖