搜索
bottom↓
回复: 29

KL25 USB调试故障(已解决)

[复制链接]

出0入0汤圆

发表于 2014-4-10 09:28:35 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_Robin 于 2014-5-4 12:33 编辑

我手里有一块FDRM-KL25的板子,计划用kl25开发手持设备新项目。首先调试USB,结果出现问题。我把官方历程简单移植了一下,做了个最简单的demo程序,就是PC发给KL25数据,kl25接收到数据之后,原封不动的返回。结果有问题,就是每次PC和kl25连接后,开始的几个数据不能发给PC。我仿真了一下,接收是正确的,kl25也执行发送命令了。就是上位机接不到。跳过开始的几个数据,以后都正常。后来我又用官方的历程验证,结果官方的历程也有这样的问题,不是我移植过程引入错误。
项目比较急,没时间去研究USB协议,我就想把历程移植了直接用。之前曾经移植过MSP430F5529的官方USB程序,很容易就移植了。哪位兄弟对USB比较熟悉,帮我看一下是哪里出了问题,或者已经成功移植了KL25的USB-CDC程序,把工程发给我参考一下,谢谢了。

附件是我简单移植的USB-CDC程序。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-4-11 19:56:13 | 显示全部楼层
楼主用的是飞思卡尔官网那个stack吗?
那里面有好多USB的例程呢。

出0入0汤圆

 楼主| 发表于 2014-4-12 23:25:00 | 显示全部楼层
时光倒退 发表于 2014-4-11 19:56
楼主用的是飞思卡尔官网那个stack吗?
那里面有好多USB的例程呢。

不是,是FRDM-KL25的历程。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-4-14 10:14:58 | 显示全部楼层
楼主你好
建议你在飞思卡尔官网下载USB协议栈USB_STACK_V4.1.1
http://www.freescale.com/zh-Hans ... ab=Design_Tools_Tab

出0入0汤圆

 楼主| 发表于 2014-4-14 22:51:42 | 显示全部楼层
FSL_TICS_Robin 发表于 2014-4-14 10:14
楼主你好
建议你在飞思卡尔官网下载USB协议栈USB_STACK_V4.1.1
http://www.freescale.com/zh-Hans/webapp/s ...

下载了,keill的工程没有kl25的cdc。有个源码有KL25的例子,自己创建个keill工程,死活找不到USB_LDD.h       。郁闷了,我还是老老实实的用MSP430的usb吧,这几天搞这个东西搞得头疼,好几天没睡好觉了。

出0入0汤圆

 楼主| 发表于 2014-4-14 22:53:55 | 显示全部楼层
以后有机会用飞思卡尔的cortex-m4吧,现在急着出产产品,没时间折腾了。

出0入0汤圆

发表于 2014-4-15 09:19:41 | 显示全部楼层
yinyanqing 发表于 2014-4-14 22:51
下载了,keill的工程没有kl25的cdc。有个源码有KL25的例子,自己创建个keill工程,死活找不到USB_LDD.h   ...

Keil中的确没KL25的例程,CodeWarrior10和IAR文件夹中都有。
USB_LDD.h我通过搜索在C:\Freescale\Freescale USB Stack v4.1.1\ProcessorExpert\Examples\Device\CDC\USB_CDC_DEVICE_MKL25Z128_PEx\Generated_Code下有见到。

出0入0汤圆

发表于 2014-4-15 09:20:25 | 显示全部楼层
yinyanqing 发表于 2014-4-14 22:53
以后有机会用飞思卡尔的cortex-m4吧,现在急着出产产品,没时间折腾了。

如果时间急的话,建议还是使用比较稳妥的方案。

出0入0汤圆

 楼主| 发表于 2014-4-15 10:04:13 | 显示全部楼层
FSL_TICS_Robin 发表于 2014-4-15 09:20
如果时间急的话,建议还是使用比较稳妥的方案。

我在调试一下,找找资料看看,这个料性价比很高,很想用,就是卡在USB这里了.
如果USB的问题解决了,其他的都没有问题了.

出0入0汤圆

 楼主| 发表于 2014-4-15 10:08:59 | 显示全部楼层
FSL_TICS_Robin 发表于 2014-4-15 09:19
Keil中的确没KL25的例程,CodeWarrior10和IAR文件夹中都有。
USB_LDD.h我通过搜索在C:\Freescale\Freesca ...

昨天晚上打错了,不是找不大USB_LDD.h,而是找不到USB_PDD.h

出0入0汤圆

发表于 2014-4-15 11:20:22 | 显示全部楼层
yinyanqing 发表于 2014-4-15 10:08
昨天晚上打错了,不是找不大USB_LDD.h,而是找不到USB_PDD.h

C:\Freescale\Freescale USB Stack v4.1.1\Source\Device\app\cdc\iar_ew\kinetis_l2k路径下的例程我没见到需要你提到的USB_PDD.h文件呢。
请问楼主想移植哪个?

出0入0汤圆

 楼主| 发表于 2014-4-15 12:34:36 | 显示全部楼层
我想移植的程序的路径:\Freescale\Freescale USB Stack v4.0.3\ProcessorExpert\Examples\Device\CDC\USB_CDC_DEVICE_MKL25Z128_PEx

其中有个文件 USB_LDD.c文件里有一个包含:#include "USB_PDD.h"

出0入0汤圆

 楼主| 发表于 2014-4-15 12:34:54 | 显示全部楼层
FSL_TICS_Robin 发表于 2014-4-15 11:20
C:\Freescale\Freescale USB Stack v4.1.1\Source\Device\app\cdc\iar_ew\kinetis_l2k路径下的例程我没见 ...

我想移植的程序的路径:\Freescale\Freescale USB Stack v4.0.3\ProcessorExpert\Examples\Device\CDC\USB_CDC_DEVICE_MKL25Z128_PEx

其中有个文件 USB_LDD.c文件里有一个包含:#include "USB_PDD.h"

出0入0汤圆

 楼主| 发表于 2014-4-15 12:35:50 | 显示全部楼层
yinyanqing 发表于 2014-4-15 12:34
我想移植的程序的路径:\Freescale\Freescale USB Stack v4.0.3\ProcessorExpert\Examples\Device\CDC\USB ...

Freescale USB Stack v4.1.1里面同样找不到

出0入0汤圆

发表于 2014-4-15 16:03:39 | 显示全部楼层
yinyanqing 发表于 2014-4-15 12:35
Freescale USB Stack v4.1.1里面同样找不到

我打开:\Freescale\Freescale USB Stack v4.0.3\ProcessorExpert\Examples\Device\CDC\USB_CDC_DEVICE_MKL25Z128_PEx工程会发现USB_LDD灰色出现问题,所以本该能够链过去的USB_PDD.h也消失了。
我自己新建的ProcessorExpert工程,调用USB_LDD后生成代码后,就可以通过右键Open Declaration跟踪到USB_PDD.h在图示路径下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2014-4-17 10:42:09 | 显示全部楼层
FSL_TICS_Robin 发表于 2014-4-15 16:03
我打开:\Freescale\Freescale USB Stack v4.0.3\ProcessorExpert\Examples\Device\CDC\USB_CDC_DEVICE_MK ...

usb的问题解决了,谢谢你.
还有一个问题,就是关于时钟.我们的产品要有RTC同时还要USB接口. 但是KL25只有一个晶振接口.
RTC需要高精度的时钟源,usb接口同样需要精准时钟,这个如何解决呢?

出0入0汤圆

发表于 2014-4-17 14:33:06 | 显示全部楼层
本帖最后由 FSL_TICS_Robin 于 2014-4-17 14:34 编辑
yinyanqing 发表于 2014-4-17 10:42
usb的问题解决了,谢谢你.
还有一个问题,就是关于时钟.我们的产品要有RTC同时还要USB接口. 但是KL25只有一 ...


RTC模块可以通过三处获得时钟,你可以选择RTC_CLKIN作为该模块时钟源。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2014-4-17 15:13:18 | 显示全部楼层
FSL_TICS_Robin 发表于 2014-4-17 14:33
RTC模块可以通过三处获得时钟,你可以选择RTC_CLKIN作为该模块时钟源。

我看了这个资料,想法就是加一个32768Hz的有源晶振,问题有两个

1.32768的有源晶振很少见,不好采购.
2.即使能采购,手持设备的关机功耗是不是很高呢.

能不能推荐一个可行的方案,或者推荐一个低功耗的32768的时钟源.

出0入0汤圆

发表于 2014-4-17 16:06:23 | 显示全部楼层
yinyanqing 发表于 2014-4-17 15:13
我看了这个资料,想法就是加一个32768Hz的有源晶振,问题有两个

1.32768的有源晶振很少见,不好采购.

你只有两条路呀
要么USB用外部时钟参考源、要么RTC用外部时钟参考源。
如果你觉得32.768KHz的贵,那么就买48MHz的供给USB模块时钟。

出0入0汤圆

 楼主| 发表于 2014-4-17 16:44:04 | 显示全部楼层
FSL_TICS_Robin 发表于 2014-4-17 16:06
你只有两条路呀
要么USB用外部时钟参考源、要么RTC用外部时钟参考源。
如果你觉得32.768KHz的贵,那么就 ...

似乎给USB提供48M的外部时钟的成本低多了....

出0入0汤圆

发表于 2014-4-17 16:56:07 | 显示全部楼层
FSL_TICS_Robin 发表于 2014-4-17 16:06
你只有两条路呀
要么USB用外部时钟参考源、要么RTC用外部时钟参考源。
如果你觉得32.768KHz的贵,那么就 ...


补充一下
如果你的项目不着急,飞思卡尔将在7月中旬推出L系列带内部48MHz时钟源的芯片,这就很好地解决了现在你遇到的问题。

出0入0汤圆

发表于 2014-4-17 16:59:36 | 显示全部楼层
FSL_TICS_Robin 发表于 2014-4-17 16:56
补充一下
如果你的项目不着急,飞思卡尔将在7月中旬推出L系列带内部48MHz时钟源的芯片,这就很好地解决了 ...

现在飞思卡尔官网上推出的还是K系列的芯片,并且有一篇应用手册AN4905 (Crystal-less USB operation on Kinetis K64, K63, and K24 MCUs)可供你参考。

出0入0汤圆

发表于 2014-4-17 21:16:00 | 显示全部楼层
请教楼主以及楼上的高人,我刚刚入手飞卡KL25,感觉这个玩意儿很麻烦,有木有像STM32那样的固件库?你们在建工程时,都是从以前的工程里面拷贝那么多的.c、.s和.h文件?

出0入0汤圆

 楼主| 发表于 2014-4-17 22:50:45 | 显示全部楼层
FSL_TICS_Robin 发表于 2014-4-17 16:59
现在飞思卡尔官网上推出的还是K系列的芯片,并且有一篇应用手册AN4905 (Crystal-less USB operation on K ...

K,L这两个系列我都很看好,很想用,只是现在没有合适K系列的项目。现在手头有个手持设备的项目,刚好选L系列来熟悉下。
K系列我已经申请了样片了,正在找机会用。

出0入0汤圆

 楼主| 发表于 2014-4-17 22:53:13 | 显示全部楼层
FSL_TICS_Robin 发表于 2014-4-17 16:56
补充一下
如果你的项目不着急,飞思卡尔将在7月中旬推出L系列带内部48MHz时钟源的芯片,这就很好地解决了 ...

如果能退出这样的芯片最好不过了,7月中旬还来得及,我前期可以先用KL25来调试,等到7月中旬申请了样片再移植。

出0入0汤圆

发表于 2014-4-18 08:57:10 | 显示全部楼层
heyangfengyue 发表于 2014-4-17 21:16
请教楼主以及楼上的高人,我刚刚入手飞卡KL25,感觉这个玩意儿很麻烦,有木有像STM32那样的固件库?你们在 ...

飞思卡尔有一个类似的固件库KINETIS_SDK   ,但现在是测试版本所以还未包括你的KL25。

出0入0汤圆

发表于 2014-4-18 09:02:02 | 显示全部楼层
heyangfengyue 发表于 2014-4-17 21:16
请教楼主以及楼上的高人,我刚刚入手飞卡KL25,感觉这个玩意儿很麻烦,有木有像STM32那样的固件库?你们在 ...

Q2:你们在建工程时,都是从以前的工程里面拷贝那么多的.c、.s和.h文件?
A2:如果你想以飞思卡尔官网FRDM-KL25Z开发板的例程包KL25_SC作为模板创建新工程,那么就可以参考【经验分享】使用KL25-SC中快捷工具创建新工程帖省去拷贝的麻烦。

出0入0汤圆

发表于 2014-4-18 09:08:02 | 显示全部楼层
heyangfengyue 发表于 2014-4-17 21:16
请教楼主以及楼上的高人,我刚刚入手飞卡KL25,感觉这个玩意儿很麻烦,有木有像STM32那样的固件库?你们在 ...

还有一个更为灵活方便的方法就是使用ProcessorExpert软件。CodeWarrior10.6软件本身自带了ProcessorExpert功能,如果你用IAR、Keil则可以通过独立的ProcessorExpert软件生成代码后,导入这两种编译环境。
除了飞思卡尔官网对这款软件的介绍,你还可以在论坛汇总帖中找到 (12月20日更新) 有声有色!-官方视频大全ProcessorExpert软件的一些介绍。
我们热情的网友也分享了他自己制作的最新ProcessorExpert 10.4版本的教程  来点小菜,阿莫首发:ProcessorExpert实战教程

出0入0汤圆

发表于 2014-4-21 22:16:01 | 显示全部楼层
FSL_TICS_Robin 发表于 2014-4-18 09:08
还有一个更为灵活方便的方法就是使用ProcessorExpert软件。CodeWarrior10.6软件本身自带了ProcessorExper ...

非常、无比感谢!!

出0入0汤圆

发表于 2014-4-22 08:52:45 | 显示全部楼层
heyangfengyue 发表于 2014-4-21 22:16
非常、无比感谢!!

不用客气
以后有问题可以在论坛里发帖和大家一起讨论
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 15:05

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表