查看: 2558|回复: 7

[已解决] KSDK问题

[复制链接]

该用户从未签到

11

主题

43

帖子

0

中级会员

Rank: 3Rank: 3

积分
418
最后登录
2024-3-22
发表于 2018-9-10 08:48:28 | 显示全部楼层 |阅读模式
小弟最近使用ksdk1.3.0的“frdmk64f”例子程序做k64芯片的程序开发碰到两个奇怪的问题,首先烧写了开发包中提供lwip_ping例子程序,试了mqx、ucos和freertos三个不同的程序,前两个例子程序能顺利跑起来,pc和板子能相互ping通,但是基于freertos系统的程序跑起来后ping不通,不知道什么原因,我看代码都是用的一个,只是操作系统文件不一样。然后,还一个问题,所有的例子程序下载下去都能运行,但是一重新上电,必须先按resert键才能运行,否则程序跑不起来,不知道是需要改哪里?   后面我又试了ksdk2.0和ksdk2.4两个不同的开发包,都是基于freertos系统的,ping例子跟ksdk1.3的版本一样,也是运行后无法ping通。我用的是IAR开发平台,不知道有没有人碰到跟我一样的疑问?

最佳答案

本帖最后由 小恩GG 于 2018-9-12 17:55 编辑 czp111 发表于 2018-9-12 14:33 不知道您那边有没有MAPS-K64的开发板,我这里又用这个开发板试了一下,ksdk1.3.0是可以的,最新的ksdk2.4 ... 我用的是FRDM-K64的板子 ...
回复

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20029
最后登录
2024-4-26
发表于 2018-9-11 09:48:28 | 显示全部楼层
不太可能吧,KSDK K64都经过很多次测试了,待会我试试吧,还有我建议你去下载最新的KSDK试试看
回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

43

帖子

0

中级会员

Rank: 3Rank: 3

积分
418
最后登录
2024-3-22
 楼主| 发表于 2018-9-11 15:28:24 | 显示全部楼层
小恩GG 发表于 2018-9-11 09:48
不太可能吧,KSDK K64都经过很多次测试了,待会我试试吧,还有我建议你去下载最新的KSDK试试看 ...

确实是这样哦,我现在就是在用ksdk1.3.0 中“frdmk64f”平台的“tcpecho”例子程序来改,里面有使用MQX、UCOSII和Freertos的三个例子程序,我看工程文件是一样的,共用一样的“board”、“lwip”、“source”、“startup”、“utilities”,就操作系统文件不一样;然后编译的库文件基本一样,只有osa里面的三个文件不一样,含有不同操作系统的内容。我就奇怪了,基于MQX和UCOSII的例子怎么跑都没问题,就是freertos系统的烧进去就ping不通。 我想想唯一的可能性就是操作系统和lwip的结合这一块有问题,但是因为个人水平问题,操作系统和lwip是怎么结合的不知道从何下手? 把ksdk1.3.0下的问题调通了(这个版本至少基于mqx和freertos系统的例子没问题,好比对),我再上高版本去调试。
回复 支持 反对

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20029
最后登录
2024-4-26
发表于 2018-9-11 17:05:27 | 显示全部楼层
czp111 发表于 2018-9-11 15:28
确实是这样哦,我现在就是在用ksdk1.3.0 中“frdmk64f”平台的“tcpecho”例子程序来改,里面有使用MQX、 ...

你先用新的测试一下,1.3太老了,我们这边用新的是可以的
回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

43

帖子

0

中级会员

Rank: 3Rank: 3

积分
418
最后登录
2024-3-22
 楼主| 发表于 2018-9-11 17:38:14 | 显示全部楼层
主要是因为高版本没试通,所以降低版本,电路板是仿照frdmk64f做的,phy换成了dp83848,接口也是rmii,mcu和phy晶振都是50M,debug串口一样,ksdk1.3.0的ucos程序没有改动直接烧进去,网络就是通的,说明硬件没问题,剩下的就是软件,我再找找原因。
回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

43

帖子

0

中级会员

Rank: 3Rank: 3

积分
418
最后登录
2024-3-22
 楼主| 发表于 2018-9-11 18:09:22 | 显示全部楼层
本帖最后由 czp111 于 2018-9-11 18:25 编辑
小恩GG 发表于 2018-9-11 17:05
你先用新的测试一下,1.3太老了,我们这边用新的是可以的

调试了一下,好像问题集中在创建任务这一块,mqx的系统下“sys_thread_new("tcpecho_thread", tcpecho_thread, NULL, TCPECHO_STACKSIZE, TCPECHO_PRIORITY);
  OSA_Start();”可以正常运行, OSA_Start()可以启动任务,结束后继续执行接下来的程序,freertos系统下, OSA_Start()无法成功启动任务,程序在OSA_Start()中出不来,即使tcpecho_thread线程中的程序全部注释,也创建不成功。
跟踪了ksdk2.0的任务创建函数,运行到函数“vPortStartFirstTask()”后出不来,而这段函数在底层是汇编的一段代码,程序一直运行到SVC 0 之后,是不是和地址“0xE000ED08”有关?:
vPortStartFirstTask
        /* Use the NVIC offset register to locate the stack. */
        ldr r0, =0xE000ED08
        ldr r0, [r0]
        ldr r0, [r0]
        /* Set the msp back to the start of the stack. */
        msr msp, r0
        /* Call SVC to start the first task. */
        cpsie i
        cpsie f
        dsb
        isb
        svc 0

回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

43

帖子

0

中级会员

Rank: 3Rank: 3

积分
418
最后登录
2024-3-22
 楼主| 发表于 2018-9-12 14:33:58 | 显示全部楼层
小恩GG 发表于 2018-9-11 17:05
你先用新的测试一下,1.3太老了,我们这边用新的是可以的

不知道您那边有没有MAPS-K64的开发板,我这里又用这个开发板试了一下,ksdk1.3.0是可以的,最新的ksdk2.4是不行的,ping不通,phy_read好像有问题。
回复 支持 反对

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20029
最后登录
2024-4-26
发表于 2018-9-12 17:49:09 | 显示全部楼层
本帖最后由 小恩GG 于 2018-9-12 17:55 编辑
czp111 发表于 2018-9-12 14:33
不知道您那边有没有MAPS-K64的开发板,我这里又用这个开发板试了一下,ksdk1.3.0是可以的,最新的ksdk2.4 ...

我用的是FRDM-K64的板子,MAPS-K64手头上暂时没有,你看看硬件配置是否正确
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-4-27 00:20 , Processed in 0.143854 second(s), 30 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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