demotech

demotech

0个粉丝

19

问答

0

专栏

11

资料

demotech  发布于  2013-11-18 21:10:52
采纳率 0%
19个问答
2798

ALIENTEK MiniSTM32 开发板问题

 

一. ALIENTEK MiniSTM32 开发板入门教程 1、开发板检测 在收到快递之后,您第一步需要做的就是检测开发板是否完好。虽然我们的包装已经很仔细了,测试也很小心了,但是快递公司的人,并不是个个都那么有素质,难免会造成损坏。所以,在拿到开发板之后,烦请大家先检测开发板是否有损坏。先看看我们发货是否完整,购买218 套餐的朋友,收货应该有6 件: (1) ALIENTEK MiniSTM32 开发板底板一块。 (2) ALIENTEK 2.8 寸TFTLCD 模块一个。 (3) 5P Mini USB 数据线一条。 (4) ALIENTEK 资料光盘一张(莱德光盘)。 (5) ALIENTEK 遥控器一个。 (6) 杜邦线2 跟。 购买了288 套餐的朋友,在218 的基础上,应该再多3 件: (1) B 型USB 数据线一条。 (2) JLINK V8 一个。 (3) JLINK V8 光盘一张。 购买了138 套餐的朋友,在218 的基础上,去掉2.8 寸TFTLCD 模块即是收货清单。 另外对购买了其他配件的朋友,请针对配件做逐项检查。看发货是否齐全。 在确认接收到的开发板及配件外观没问题(主要看看LCD 的触摸屏,是否有裂痕)之后,请您开始检测开发板的硬件,是否存在问题(主要是LCD 的问题,在运输过程中损坏的最多)。 在出厂的时候,我们默认都是刷了UCGUI 的(购买了SD 卡的客户,则给您刷的是综合测试实验【实验28】),所以在收到板子之后,请您别急着刷代码。先把LCD 接到底板上(JLINK 先不要接上去),通上电源。看看LCD 是否显示UCGUI 。如果能显示,则证明您 收到的板子,基本没问题了。可以开始下面的学习了。 如果不是,则可能会是如下几种情况: (a) LCD 白屏。 这种情况比较多见,首先,请检查开发板上的B0 和B1 是否都接地了,如图1.1 所示:

图1.1 B0,B1 均接GND

如果两个都已经接地了,请按复位键试试。如果按复位键还是不行,则请按旁边的电源开关,先断电一下,然后再次按该开关,打开电源。如果此时还不行,就比较麻烦了。但也还是有办法,协助查出问题的根源。此时我们先接上USB 线到图1.1 中的Mini USB头(此USB 是用来接USB 串口的,另外一个USB 是用来USB 通信的!别搞错哦)上。然后在电脑上安装USB 串口驱动软件(USB 串口软件安装详见<<STM32 不完全手册>>的2.5 节, 不过这里不是用来下载代码哦,只要安装驱动即可),再安装串口调试助手,如图1.2 所示:

                                                                                       图1.2 串口调试助手

安装完毕后,我们打开串口调试助手,并打开USB 串口所在的那个串口。如下图1.3所示:

图1.3 打开USB 串口

此时,我们按开发板的复位键(B0,B1 均接GND),然后松开,可以看到串口调试助手打印出了一个数据(每按复位均会打印一次),如图1.4 所示:

图1.4 串口打印的LCD ID

此数据9325 即是LCD 的ID,也就是我们LCD 驱动IC 的型号(注意,我们开发板选用的LCD 驱动型号可能有如下型号:4531、9320、5408、9320 等,以实际型号为准)。如果这个数据和LCD 的驱动IC 型号对不上(在上述几个型号之外,且屏幕无显示者),说明LCD和单片机连接的数据线有问题(短路或者断路),此时问题就比较大了,需要返回给我们修理。或者联系我们解决。 (a) 开发板电源灯不亮。 此问题出现的很少,有几种情况: (b) 电源开关没有打开。 此种情况,只需要按一下电源开关即可解决。 (c) 电源线没接好。 请检查USB 连接是否正常。比如你的电脑此USB 口是否能输出电压等。 (d) 开发板有问题。 这种情况,有可能是开发板发生了短路,请马上拔掉USB 电源,并联系我们解 决。

在做实验28的时候,当发现ALIENTEK MiniSTM32开发板的触摸屏不准,不好使的情况,可以采用重新校准. 该如何进入校准模式呢? 这个在<<不完全手册>>的3.28.1节有说. 即: 如果在启动的时候(按下复位键的同时,按键检测发生在RTC检测之前!),按下了KEY0,则系统会强制设置当前时间为编译时间,如果按下了KEY1,则会强制进行屏幕校准,如果按下WK_UP则会强制进行字库更新。

总结操作就是:同时按下RESET+KEY1,然后松开RESET,然后松开KEY1即可进入校准界面

2、开始学习 ALIENTEK MiniSTM32 开发板 在硬件检测完了之后,就可以开始学习ALIENTEK MiniSTM32 开发板了。先安装KEIL3.80A,安装方法见《MDK3.80A 安装手册.pdf》。 再安装PL-2303HX 新版驱动,这里根据您的系统,选择不同的安装包安装。 再安装Jlink V8 的驱动,用于仿真调试和代码下载。 最后安装一个我们提供的串口调试助手,用于观测一些串口数据。 另外有一个绿色软件MCUISP,用来串口下载代码,这也是很常用的一个软件,可以把该软件发一快捷方式到桌面。 以上软件的安装使用请参考第一个视频教程《入门(KEIL 安装+JLINK 调试+串口下载+新建工程).rmvb》。 在完成了这些之后,就可以跟着《STM32 不完全手册》学习STM32 了。另外前三个实验还有视频教程,辅助大家更快进入状态。 3、FAQ 问题解答 1,JLINK V8 下载代码之后,液晶不显示,是何原因? 使用JLINK V8 给ALIENTEK MiniSTM32 开发板下载代码(有用到液晶的实例)之后发现液晶不显示。这种情况,请先检查B0,B1 是否均接地了。如果是,则按下复位键看看是否有显示。如果按下复位键还是没显示,则断开电源,然后在重新上电,看是否显示了。如果问题依旧,请拔掉JLINK,再按复位,看看问题是否解决。一般这种情况是由于JLINK 干扰了液晶和MCU 的通信,导致液晶无法使用。但是在重新下载代码之后,可能会可以了。这里要提醒大家,JLINK V8 与ALIENTEK MiniSTM32 开发板的连接(调试与下载),请务必使用SWD 模式。不要选择JTAG 模式!(原因:因为我们开发板的JTAG 和液晶等好几个外设共用了IO 口,SWD 相对来说共用的IO 口比较少,当您使用这些共用IO 口作为普通IO 口用的时候,JTAG/SWD 就必须先关闭,从而导致JTAG/SWD 无法和JLINK 连接上。因为SWD 只共用了2 个IO 口,并且不影响液晶和重要外设的使用,所以我们的代码,在需要禁止JTAG 的地方,基本上都是只关闭JTAG,而保留SWD,所以建议大家用SWD,这样就可以和绝大部分代码兼容,既可仿真,又可下载代码。当然,个别代码,就连SWD 也得关闭,从而导致无法连接和下载,这时可以通过串口下载,或者把B0 接V3.3 再下载。) 2,USB 串口驱动安装不上? 这个问题,要看您是否之前有安装USB 串口驱动,如果有,请先卸载,然后重启电脑。再安装我们的USB 串口驱动软件。如果还是不行,则再次重启电脑试试看。如果再不行,请换一个USB 口试试看。 3,JLINK V8 无法下载代码(或发现器件)? 这个问题,请仔细观看我们的第一个视频教程(《KEIL3.80A 安装+串口下载+JLINK 调试》)的相关部分,注意相关设置是否都正确。 如果还不能解决,可能是板子上的代码把JTAG 给禁用了。对这种情况我们可以先把B0接V3.3(B1 接GND 不动)。然后再去发现器件,这样一般就能发现了,并且可以下载代码,不过下载代码之后是无法运行和仿真的,必须把B0 先接到GND,并按下一次复位之后,才能开始跑您刚刚刷进去的代码。 此时一般就可以用SWD 继续下载和仿真了,而不需要把B0 接V3.3,如果不能,请检查您刚刚刷进去的代码是否禁用了SWD! 4,发货前我们是否验货? 我们都是经过检验之后的开发板才包装的,所以来到您手上的板子一般都是没问题的。这里不能绝对说没问题,因为板子在运输途中可能会有损坏。开发板默认跑的是UCGUI 程序,注意此UCGUI 不支持触摸操作!!!

  1. 触摸屏方向错误,按左边画线到右边,或者按下边划线到上边,或者综合实验点击某个图标进入到另外图标的操作界面? 这个是由于触摸屏没有校准所致,请按如下方法进行校准: 下载实验18 触摸屏实验,然后液晶显示"Press KEY0 to Adjust",此时按下KEY0按键,进入校准模式,按着光标指引在触摸屏的四个角 分别准确的促次按下即可校准屏幕。 6.Mcuisp下载连接不上? 开发板发货之前都是用mcuisp下载代码进去测试的,所以这类问题一般都是因为操作失误所致: 原因主要有如下几点: 1.USB线没有插稳 ;
    2.USB口插错,请插usb-232的mini USB口
    3.Mcuisp配置错误,请参考此图: 7.JLINK无法升级 http://www.openedv.com/posts/list/6073.htm

二. Jlink问题汇总

                                                   本文档专为初用JLINK 调试ALIENTEK MiniSTM32 开发板的朋友编写。

先申明,STM32 支持2 种模式仿真和下载,即:1、JTAG 模式,次模式需要用到5 个IO 口(JTMS/JTCK/JTDI/JTDO/JNTRST);2、SWD 模式,此模式只需要2 个IO 口(SWDCLK和SWDIO)。首先,我们来了解一下这些问题的根源所在:之所以会存在大家一系列的 JLINK 无法下载、无法调试的问题,其根本原因ALIENTEK MiniSTM32 开发板的一些连接外设的IO口和JLINK 的调试口共用了。如图1 所示:

   从图 1 可以看出,JTAG 模式的5 个IO 口,除了JTCK 外,其他都和外设IO 共用了。并且和重要外设LCD 共用(LCD_D3 和LCD_D4)。其次,JTDI 与与PS_CLK(PS/2 的时钟线)、KEY1 共用,JTMS 与PS_DAT(PS/2 的数据线)、KEY0 共用,同时该线也是SWD的IO 线。正是因为这样的连接关系,所以在使用LCD(包括OLED)的时候,我们必须禁止JTAG,以使得LCD_D3 和D4 可以作为正常IO 口用。此时,如果PA13 没有用来做普通IO口用的话,是可以用JLINK 的SWD 模式来仿真和调试的(SWD 模式需要的SWDIO 和SWDCLK,也就是PA13 和PA14)。但是,一旦你使用了LCD,同时又用到了PS/2 或者KEY0或则KEY1 等外设的时候,JTAG 和SWD 模式就都必需被禁止才能正常使用(单独用KEY1,可以用SWD 模式下载,注意仅仅是下载,而不能调试,因为Jlink 的电平,会影响到KEY1的状态)。
 因为 ALIENTEK MiniSTM32 开发板的大部分例程都需要用到LCD,会导致JTAG 无法使用,所以我们多次强调大家不要用JTAG 模式,而要选择SWD 模式。SWD 模式,仅仅会导致KEY0、KEY1 以及PS/2 口无法调试,注意这里是不能调试,但是是可以下载的,下载的前提:之前保存在STM32 里面的程序,没有一直禁止SWD 口(一个程序循环周期里面SWD 使能的时间至少超过10ms)。一旦这个条件得到了满足,JLINK 就可以通过SWD

模式连接到板子上的STM32,并给其下载代码,调试代码(有KEY 及PS/2 的部分不能调试)。所以,一旦你的板子出现了连接不上的情况,一般就是当前保存在STM32 上面的程序,没有满足这个条件。好了,介绍了以上的知识之后,我们再来看看大家的问题吧。 问题一、在Options for Target’Target 1’选项卡里面,设置Cortex-M3 J-Link 的时候,弹出如图2 所示的错误信息:

图2 设置Cortex-M3 J-Link 提示错误

  问题说明:图中红圈提示信息为SWD 模式下,没有找到器件。说明我们虽然设置了SWD模式,但是还是未能找到STM32。这种情况,一般是由于STM32 里面跑了把SWD 模式给禁止的程序,可能是一直禁止(比如PS/2 例程),可能是SWD 开启时间太短(2.0 早期版本的按键实验例程)。
  解决办法:把 B0 接V3.3(B1 默认接GND,以下类同,注意,此时仅仅能下载代码,

并不能用JLINK 仿真!因为STM32 工作在ISP 模式,不会执行用户代码!),再点击Auto Clk,一般就能发现到芯片了,如图3 所示:

图 3 SWD 模式下找到了STM32 芯片

问题二、在问题1 里面,STM32 芯片被正常的找到,但是当点击下载( )/仿真( )按钮的时候,出现如图4 所示的错误信息:

图4 下载/仿真连接失败

问题分析:出现这个问题的原因,和问题一的原因基本一样,但是由于在下载或者仿真的时候,可能重试次数不如前者,导致无法正常连接到芯片,而前者可以连接到。所以出现了这样的问题。 解决办法:1,把B0 接V3.3,再下载(注意,此时仅仅能下载代码,并不能用JLINK仿真!因为STM32 工作在ISP 模式,不会执行用户代码!)。2,通过串口下载一个没有禁止SWD 模式的代码(如跑马灯例程)或者擦除芯片。然后再用SWD 模式下载。 问题三、在下载/仿真的时候出现如图5 所示的错误界面:

问题分析:此界面提示在 JTAG 口没有找到Cortex M 的器件,典型的是在开始使用的 时候,忘记在Options for Target’Target 1’选项卡里面设置为SWD 模式了。因为我们的开发 板很多实例程序都禁止了JTAG,而使能的是SWD 模式。 解决办法: 1,去Options for Target’Target 1’选项卡里面设置JLINK 工作在SWD 模式下。 2,同问题二的解决办法1。3,通过串口下载一个未禁止JTAG 模式的程序(比如跑马灯实验)或者擦除芯片,再用JTAG 下载。大部分用户在使用的时候,碰到的基本上就是以上这三类问题了。如果大家碰到类似的问题,用上面提供的解决办法,一般都能解决。另外,注意STM32 的启动模式,在B0 接V3.3,B1 接GND 的时候,STM32 是工作在ISP 模式的,此时尽管可以随便的下载代码到开发板,但是,并不能让下载进去的代码执行,如果需要让代码执行,请务必把B0 接GND!还有些程序虽然可以通过 JLINK 下载,但是不能用JLINK 仿真(比如按键实验程序),碰到这样的程序,大家就用串口调试吧。最后,再一次提醒大家:用 SWD 模式,别用JTAG 模式!

我来回答
回答0个
时间排序
认可量排序
易百纳技术社区暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区