yinyanqing 发表于 2014-4-10 09:28:35

KL25 USB调试故障(已解决)

本帖最后由 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程序。

时光倒退 发表于 2014-4-11 19:56:13

楼主用的是飞思卡尔官网那个stack吗?
那里面有好多USB的例程呢。

yinyanqing 发表于 2014-4-12 23:25:00

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

不是,是FRDM-KL25的历程。

FSL_TICS_Robin 发表于 2014-4-14 10:14:58

楼主你好
建议你在飞思卡尔官网下载USB协议栈USB_STACK_V4.1.1
http://www.freescale.com/zh-Hans/webapp/sps/site/prod_summary.jsp?code=MEDICALUSB&fpsp=1&tab=Design_Tools_Tab

yinyanqing 发表于 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吧,这几天搞这个东西搞得头疼,好几天没睡好觉了。

yinyanqing 发表于 2014-4-14 22:53:55

以后有机会用飞思卡尔的cortex-m4吧,现在急着出产产品,没时间折腾了。

FSL_TICS_Robin 发表于 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下有见到。

FSL_TICS_Robin 发表于 2014-4-15 09:20:25

yinyanqing 发表于 2014-4-14 22:53
以后有机会用飞思卡尔的cortex-m4吧,现在急着出产产品,没时间折腾了。

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

yinyanqing 发表于 2014-4-15 10:04:13

FSL_TICS_Robin 发表于 2014-4-15 09:20
如果时间急的话,建议还是使用比较稳妥的方案。

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

yinyanqing 发表于 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

FSL_TICS_Robin 发表于 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文件呢。
请问楼主想移植哪个?

yinyanqing 发表于 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"

yinyanqing 发表于 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"

yinyanqing 发表于 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里面同样找不到

FSL_TICS_Robin 发表于 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在图示路径下

yinyanqing 发表于 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接口同样需要精准时钟,这个如何解决呢?

FSL_TICS_Robin 发表于 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作为该模块时钟源。

yinyanqing 发表于 2014-4-17 15:13:18

FSL_TICS_Robin 发表于 2014-4-17 14:33
RTC模块可以通过三处获得时钟,你可以选择RTC_CLKIN作为该模块时钟源。

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

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

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

FSL_TICS_Robin 发表于 2014-4-17 16:06:23

yinyanqing 发表于 2014-4-17 15:13
我看了这个资料,想法就是加一个32768Hz的有源晶振,问题有两个

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


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

yinyanqing 发表于 2014-4-17 16:44:04

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

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

FSL_TICS_Robin 发表于 2014-4-17 16:56:07

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

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

FSL_TICS_Robin 发表于 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)可供你参考。

heyangfengyue 发表于 2014-4-17 21:16:00

请教楼主以及楼上的高人,我刚刚入手飞卡KL25,感觉这个玩意儿很麻烦,有木有像STM32那样的固件库?你们在建工程时,都是从以前的工程里面拷贝那么多的.c、.s和.h文件?

yinyanqing 发表于 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系列我已经申请了样片了,正在找机会用。

yinyanqing 发表于 2014-4-17 22:53:13

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

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

FSL_TICS_Robin 发表于 2014-4-18 08:57:10

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

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

FSL_TICS_Robin 发表于 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中快捷工具创建新工程帖省去拷贝的麻烦。

FSL_TICS_Robin 发表于 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实战教程 。

heyangfengyue 发表于 2014-4-21 22:16:01

FSL_TICS_Robin 发表于 2014-4-18 09:08
还有一个更为灵活方便的方法就是使用ProcessorExpert软件。CodeWarrior10.6软件本身自带了ProcessorExper ...

非常、无比感谢!!

FSL_TICS_Robin 发表于 2014-4-22 08:52:45

heyangfengyue 发表于 2014-4-21 22:16
非常、无比感谢!!

不用客气{:biggrin:}
以后有问题可以在论坛里发帖和大家一起讨论
页: [1]
查看完整版本: KL25 USB调试故障(已解决)