从此你多了一片 飞思卡尔 50Mhz K21 Cortex-M4 开发板
主芯片手册: K21P121M50SF4.pdf
参考链接: 很早以前的Win7 VMWare Ubuntu12.04LTS/15.10 使用AP6210B蓝牙模块记录(2016-02-18)
购买链接: https://item.taobao.com/item.htm?id=567153283410
已买两个,坐等收货。
感谢卖家
----------------------------------------------------
找到这个宝贝的产品型号了: 新大陆ME30.pdf
主控芯片50Mhz: NXP M21G9VMC, 对应SDK是 MK21DN512VMC5, -40 to 105°C
4MB flash: 25L32
带背光12864黑白液晶, 驱动芯片未知.
轻触式按键
NFC芯片: AS3911
从此你多了一片 飞思卡尔 50Mhz K21 Cortex-M4 开发板
离线
占个坑,请开始你的表演。嘿嘿
离线
https://blog.csdn.net/l_backkom/article/details/41512675
是不是跟这个一样
主芯片 M21G9VMC -> MK21DN512VMC5
http://cache.freescale.com/files/32bit/doc/data_sheet/K21P80M50SF4.pdf
第5页
Original part number Alternate part number
MK21DX128VMC5 M21GGVMC
MK21DX256VMC5 M21GHVMC
MK21DN512VMC5 M21G9VMC
最近编辑记录 xinxiaoci (2018-05-06 09:59:43)
离线
https://blog.csdn.net/l_backkom/article/details/41512675
是不是跟这个一样主芯片 M21G9VMC -> MK21DN512VMC5
http://cache.freescale.com/files/32bit/doc/data_sheet/K21P80M50SF4.pdf
第5页Original part number Alternate part number
MK21DX128VMC5 M21GGVMC
MK21DX256VMC5 M21GHVMC
MK21DN512VMC5 M21G9VMC
开机自毁,怕怕,估计已经爆掉一个了。
离线
xinxiaoci 说:https://blog.csdn.net/l_backkom/article/details/41512675
是不是跟这个一样主芯片 M21G9VMC -> MK21DN512VMC5
http://cache.freescale.com/files/32bit/doc/data_sheet/K21P80M50SF4.pdf
第5页Original part number Alternate part number
MK21DX128VMC5 M21GGVMC
MK21DX256VMC5 M21GHVMC
MK21DN512VMC5 M21G9VMC开机自毁,怕怕,估计已经爆掉一个了。
我们的口号是:挖坑行,填坑你更行!晕哥,你把它填上
离线
等大神们玩得差不多了, 我就可以入手了。
离线
离线
晕哥 说:xinxiaoci 说:https://blog.csdn.net/l_backkom/article/details/41512675
是不是跟这个一样主芯片 M21G9VMC -> MK21DN512VMC5
http://cache.freescale.com/files/32bit/doc/data_sheet/K21P80M50SF4.pdf
第5页Original part number Alternate part number
MK21DX128VMC5 M21GGVMC
MK21DX256VMC5 M21GHVMC
MK21DN512VMC5 M21G9VMC开机自毁,怕怕,估计已经爆掉一个了。
我们的口号是:挖坑行,填坑你更行!晕哥,你把它填上
离线
离线
大神,你玩过飞思卡尔K21?
离线
xinxiaoci 说:大神,你玩过飞思卡尔K21?
没玩过,我等晕哥玩的差不多了,我在入手这个8块的板子
离线
参考链接: K21+AP6210B+12864 液晶板子的一些资料
@posystorage 大神源码下载: none.7z
渡鸦_KS22开发板资料: yandld-CH-K-Lib-rel_raven_ks22.rar
离线
keil 不能直接烧录,但是jflash 选可以烧了
jflash 选择 K22DN256xxx5 可以正常操作,但是选择 K22DN256xxx5就不正常了,原因未知。
-----------------------------------------------
好消息,经过七七四十九回折腾,
终于跑起渡鸦里面的led例程,
把灯点亮,
12864 LCD明天再测试。
离线
离线
离线
晕哥牛逼
离线
看见了
离线
MDK Keil 源代码下载:MK21DN512VMC5_AP6210B_12864_POS_20180511.7z
接线方法:
3V3 ----------- JLINK 1 ----用于检测目标是否有电
GND ------------JLINK 4
SWD-CLK
SWD-DAT
RST ------------ JLINK 15 ---用于复位目标板
离线
晕哥不来品尝下屎一样的NXP原厂固件库KSDK么,乐趣多多
SDK档案:https://pan.baidu.com/s/1yowvUOAFn5ma23VWznpOMw 密码:wkku,包含全部工具链和全部中间层组件
API手册地址:http://mcuxpresso.nxp.com/api_doc/dev/463/
另外晕哥对裸机下启动AP6210有什么对策么?我看Linux的驱动貌似初始化得先下载固件进去?
顺便简单介绍下NXP SDK档案的文件结构
目录下
device文件夹是原厂固件库
CMSIS文件夹是CMSIS层
middleware是中间层
rtos是freertos的BSP
boards文件夹是原厂开发板的例程,写KSDK基本靠它,API手册和RM写的都是一团糟,注意此文件夹下不是完整工程,没有将上述4个文件夹中在此工程所需的文件复制进来,如需获取完整的工程需要利用NXP的MCUXpresso Config Tools进行生成
MCUXpresso Config Tools类似于ST的STM32Cube MX,可以根据SDK生成工程,分配引脚,编辑时钟树
最近编辑记录 DENHJD (2018-05-12 05:57:21)
离线
啊,还有这种操作?
驱动AP6210用linux一样的套路就好了.
https://whycan.cn/t_245.html
我试了在gd32那个板子上移植btstack。
就是这个同款板子
然后通讯部分是能用了,但是发送复位指令后,紧接着又发了一条ap6210b不认识的指令,然后就完全卡死了。折腾了一天了没找到怎么解决,晕哥求救
最近编辑记录 posystorage (2018-05-13 03:10:36)
离线
晕哥不来品尝下屎一样的NXP原厂固件库KSDK么,乐趣多多
SDK档案:https://pan.baidu.com/s/1yowvUOAFn5ma23VWznpOMw 密码:wkku,包含全部工具链和全部中间层组件
API手册地址:http://mcuxpresso.nxp.com/api_doc/dev/463/
另外晕哥对裸机下启动AP6210有什么对策么?我看Linux的驱动貌似初始化得先下载固件进去?顺便简单介绍下NXP SDK档案的文件结构
目录下
device文件夹是原厂固件库
CMSIS文件夹是CMSIS层
middleware是中间层
rtos是freertos的BSP
boards文件夹是原厂开发板的例程,写KSDK基本靠它,API手册和RM写的都是一团糟,注意此文件夹下不是完整工程,没有将上述4个文件夹中在此工程所需的文件复制进来,如需获取完整的工程需要利用NXP的MCUXpresso Config Tools进行生成MCUXpresso Config Tools类似于ST的STM32Cube MX,可以根据SDK生成工程,分配引脚,编辑时钟树
讲道理我觉得为啥飞思卡尔没像stm32一样推广开用。最大的锅就是固件库,和跟屎一样的参考手册。那么复杂的寄存器,库的普及跟不上。手册该讲的重点一笔带过,寄存器只告诉你名字,不告诉有啥用。功能怎么配置恕不奉告,自己猜去吧,自己排列组合试参数去吧
离线
啊,还有这种操作?
驱动AP6210用linux一样的套路就好了.
https://whycan.cn/t_245.html
通讯抓包
第一条是gd32发了复位指令
第二条是6210b返回的事件,复位ok
第三天是个莫名其妙的指令,然后就没有然后了,完全卡死了
离线
如果进入HCI了, 就应该按照协议走, 发了不识别(没有包头,包尾,校验等)的指令,那么AP6210B必然进入不回应状态,我是这么理解的。
以前用Linux驱动BK3515的时候也这样,而且还是用Linux自带的协议栈,无缘无故啥也不回应,就像死机了一样。
问了芯片原厂,也是一脸懵逼。
离线
xxx, yyyy:
我现在使用 网友james的方法( http://www.lightofdawn.org/blog/?viewDetailed=00032),
可以在ubuntu获取手机蓝牙发过来的蓝牙A2DP音频数据,但是在BK3515下面遇到麻烦,
驱动报出19次 short bcsp packet错误, 然后BK3515再也不发送数据了。
下面是详细情况.
驱动报出的19次错误:
逻辑分析仪对应的19次错误:
再也无法与BK3515通讯了, 执行 hciconfig hci0 up 之后出现tx timeout.
这是BK3515的发出的19个数据包其中一个的一部分
从过往邮件翻出来的.
离线
晕神太牛了,啥都懂
离线
离线
GPC2 LED1 红灯
GPC12 LED1 橙色
GPC7 LED2 蓝色灯
GPC6 LED3 黄灯
GPA19 LED4 橙灯
GPA18 LED5 红灯
GPC5 液晶背光
GPIO_PinToggle(HW_GPIOC, 2);//LED1
GPIO_PinToggle(HW_GPIOC, 12);//LED1
GPIO_PinToggle(HW_GPIOC, 7);//LED2
GPIO_PinToggle(HW_GPIOC, 6);//LED3
GPIO_PinToggle(HW_GPIOA, 19);//LED4
GPIO_PinToggle(HW_GPIOA, 18);//LED5
跑马灯测试:
while(1)
{
GPIO_PinToggle(HW_GPIOC, 2);//LED1
DelayMs(500);
GPIO_PinToggle(HW_GPIOC, 12);//LED1
DelayMs(500);
GPIO_PinToggle(HW_GPIOC, 7);//LED2
DelayMs(500);
GPIO_PinToggle(HW_GPIOC, 6);//LED3
DelayMs(500);
GPIO_PinToggle(HW_GPIOA, 19);//LED4
DelayMs(500);
GPIO_PinToggle(HW_GPIOA, 18);//LED5
DelayMs(500);
}
费了九牛二虎之力测出来的,请大家珍惜。
离线
晕神,这个片子有串口或者spi这类接口引出吗?
离线
离线
串口至少引出了两组,
一组是JTAG复用的, 可以看到 13楼那个图片 https://whycan.cn/t_1137.html#p5238
另一组是蓝牙AP6210B那里, 也是串口连接的。
SPI也引出来,至少12864 LCD那组是SPI接口。
都是连接了外设的,没办法做网串了
离线
买了5块,刚到手,4块跟晕哥一样的,还有一个是没拆过的QPOS,准备拿KSDK把这块板子的外设撸一遍,QPOS一会拆开看看啥方案的
刚查了下QPOS是F103+F071+WLP封装蓝牙芯片的方案,感觉亏了233
最近编辑记录 DENHJD (2018-05-14 17:51:58)
离线
离线
最左边的就是Qpos,拍的是一个链接,估计老板发错了
离线
蓝牙是F071+CSR的WLP晶圆,激光刻字太小看不清了
离线
F071 是原来干嘛的?
离线
折腾了半天,Jlink还没连上,一直提示Pcode -1,什么鬼
OK了,JTAG模式下,在上电的一瞬间点connect就连接上了,估计是源程序把JTAG/SWD禁用了
最近编辑记录 DENHJD (2018-05-14 19:25:29)
离线
离线
拿KSDK跑起来了
大坑点1,板子上那块晶振是32.768的RTC晶振,不是高速外置时钟,所以只能时钟树只能运行在FEI模式,即内核时钟由内部32.768K时钟进入锁相环给出
小坑点2,KSDK默认串口是UART2,时钟由BusClock提供,JTAG中的串口是UART0,时钟由CoreSysClock提供,改串口指向的同时需要更改时钟来源
离线
做车的后遗症,芯片跑起来先超超频
这是FEI模式能达到的最高频率,48MHz超到96MHz,还没测试不知道稳定不稳定
由于是FLL出来的,所以数字很不好看
离线
这板子JTAG默认程序用不了的原因找到了,它把PTA0-PTA4用作矩阵键盘了,PTA0-PTA3是JTAG。。。
跑出来的键盘矩阵,不一定完全准确
另外这片子跑在96MHz下串口点灯点屏幕完全没问题,感觉要是可以外接晶振的话可以跑得更高,晶振输入口是PTA18 PTA19,就是晕哥上边指出的LED4和LED5,可以拆了LED上个晶振试试,不过走线距离太长了,不知可行不可行
最近编辑记录 DENHJD (2018-05-15 03:32:01)
离线
离线
飞思卡尔小白有问题:
1. KSDK 是不是飞思卡尔官方SDK? 在哪里下载?
2. 用32.768k的目的是什么?为了休眠的时候RTC还能跑?
3. 如何超频?非常感谢这个矩阵键盘资料, 晚上我试一试.
1.对的,而且目前NXP家的LPC和RT官方SDK也叫KSDK了,在https://mcuxpresso.nxp.com可以下载,需要NXP官网账号,注册一个就是了。网站服务器在日本,所以晚上高峰期访问比较慢。
2.说的是外置的32.768还是内置的32.768?外置的估计就是为了RTC走的更稳,用内置的32.768是因为内置锁频环只能由内置32.768输入
3.超频我是直接更改的MCG寄存器,官方库配置时钟我只搞明白了PLL的配置方法,FLL的还没搞明白
以下是目前的时钟配置
/*******************************************************************************
* Variables for BOARD_BootClockRUN configuration
******************************************************************************/
const mcg_config_t mcgConfig_BOARD_BootClockRUN =
{
.mcgMode = kMCG_ModeFEI, /* FEI - FLL Engaged Internal */
.irclkEnableMode = kMCG_IrclkEnable, /* MCGIRCLK enabled, MCGIRCLK disabled in STOP mode */
.ircs = kMCG_IrcSlow, /* Slow internal reference clock selected */
.fcrdiv = 0x0U, /* Fast IRC divider: divided by 1 */
.frdiv = 0x0U, /* FLL reference clock divider: divided by 32 */
.drs = kMCG_DrsMid, /* Mid frequency range */
.dmx32 = kMCG_Dmx32Fine, /* DCO is fine-tuned for maximum frequency with 32.768 kHz reference */
.oscsel = kMCG_OscselOsc, /* Selects System Oscillator (OSCCLK) */
.pll0Config =
{
.enableMode = MCG_PLL_DISABLE, /* MCGPLLCLK disabled */
.prdiv = 0x3U, /* PLL Reference divider: divided by 4 */
.vdiv = 0x0U, /* VCO divider: multiplied by 24 */
},
};
const sim_clock_config_t simConfig_BOARD_BootClockRUN =
{
.pllFllSel = SIM_PLLFLLSEL_MCGPLLCLK_CLK, /* PLLFLL select: MCGPLLCLK clock */
.er32kSrc = SIM_OSC32KSEL_RTC32KCLK_CLK, /* OSC32KSEL select: RTC32KCLK clock (32.768kHz) */
.clkdiv1 = 0x01030000U, /* SIM_CLKDIV1 - OUTDIV1: /1, OUTDIV2: /1, OUTDIV4: /2 */
};
const osc_config_t oscConfig_BOARD_BootClockRUN =
{
.freq = 0U, /* Oscillator frequency: 0Hz */
.capLoad = (OSC_CAP0P), /* Oscillator capacity load: 0pF */
.workMode = kOSC_ModeOscLowPower, /* Oscillator low power */
.oscerConfig =
{
.enableMode = kOSC_ErClkEnable, /* Enable external reference clock, disable external reference clock in STOP mode */
}
};
/*******************************************************************************
* Code for BOARD_BootClockRUN configuration
******************************************************************************/
void BOARD_BootClockRUN(void)
{
/* Set the system clock dividers in SIM to safe value. */
CLOCK_SetSimSafeDivs();
/* Set MCG to FEI mode. */
#if FSL_CLOCK_DRIVER_VERSION >= MAKE_VERSION(2, 2, 0)
CLOCK_BootToFeiMode(mcgConfig_BOARD_BootClockRUN.dmx32,
mcgConfig_BOARD_BootClockRUN.drs,
CLOCK_CONFIG_FllStableDelay);
#else
CLOCK_BootToFeiMode(mcgConfig_BOARD_BootClockRUN.drs,
CLOCK_CONFIG_FllStableDelay);
#endif
MCG->C4 |= (MCG_C4_DMX32_MASK | MCG_C4_DRST_DRS(0x03));
/* Configure the Internal Reference clock (MCGIRCLK). */
CLOCK_SetInternalRefClkConfig(mcgConfig_BOARD_BootClockRUN.irclkEnableMode,
mcgConfig_BOARD_BootClockRUN.ircs,
mcgConfig_BOARD_BootClockRUN.fcrdiv);
/* Set the clock configuration in SIM module. */
CLOCK_SetSimConfig(&simConfig_BOARD_BootClockRUN);
/* Set SystemCoreClock variable. */
SystemCoreClock = BOARD_BOOTCLOCKRUN_CORE_CLOCK;
}
离线
非常不错,感谢分享!
离线
这个帖子非常不错, 要收藏.
离线
现在好像找不到这个东西了, 知道哪里还有卖吗?
离线
还带nfc吗?
离线
卖光了
估计 @DENHJD 买的已经是最后几个了,数量不够,用qpos来顶数
离线