lyzhangxiang 发表于 2014-5-7 21:10:26

[资料分享]kinetis GITHUB上面不错的项目推荐

本帖最后由 FSL_TICS_ZJJ 于 2014-6-4 13:07 编辑

第一个ChibiOS在kinetis上的porting,地址:
https://github.com/utzig/ChibiOS-Kinetis

这个OS简单介绍:

Chibi这个词在日语中是“小孩”的意思,因此ChibiOS/RT 表示小型实时操作系统。

ChibiOS特性

自由软件,GPL3许可证。稳定发行版包含一个GPL的例外条款。
为实时应用设计。
易于移植
抢占式调度
128个优先级。允许多个线程位于同一个优先级。
对于同一优先级的线程使用轮转调度。
提供线程,虚拟时钟,信号量,互斥锁,condvars,事件标志,消息,邮箱,I/O队列。
在编译时无静态设置,因此不需要为上面的对象配置最大数量。
包含有PC模拟器,可以在PC中使用MinGW来开发。时钟,I/O通道以及其他硬件资源在Win32处理器上模拟,应用程序代码不需要考虑这些问题。有可用的MinGW范例。
不需要内存分配,所有内核结构均是静态的并且通过声明来分配。
可选的,线程安全的堆分配子系统。
可选的,线程安全的内存池分配子系统。
阻塞与非阻塞的I/O通道,包含超时与事件产生能力。
最小系统需求:当使能所有选项并且打开速度优化时约为8KB的ROM。如果禁用了某些不使用的子系统并且打开代码大小优化,可以缩小到2KB以下。
差不多全部使用C来编写,还有小量移植需要的汇编代码。

我们论坛中的相关讨论:http://www.amobbs.com/thread-5536649-1-1.html




第二个超核Kinetis KL 固件库V0.4,地址:
https://github.com/yandld/CH-KL-Lib

这个好像是国内的某个板子的代码仓库,我只是单纯的说代码,请忽略广告信息,这不是我的本意,大家看看,蛮全的好不好,自己评估吧,应该有一点参考价值的,例子很多。、



第三个GCC相关,地址:
https://github.com/0xc0170/kinetis_kxx_gcc
想用gcc的可以参考他的基础文件,自己把相关的驱动添加进去就好了,算是一个不错的入门吧,想在Linux下搞的 enjoy it



lyzhangxiang 发表于 2014-5-7 21:14:18

关于第三个,比较关键的几个文件:k60n512_flash.ld   startup_k60.cMakefile

其实用gcc的话比IDE会了解更多的一些细节问题,感兴趣的坛友可以看一下,当然要先安装arm-none-eabi-gcc咯,蛮不错的。

轻看了下Reset_Handler如下:

void Reset_Handler(void)
{
unsigned char *source;
unsigned char *destination;

/* watchdog disable */
*((volatile unsigned short *)0x4005200E) = 0xC520;
*((volatile unsigned short *)0x4005200E) = 0xD928;
*((volatile unsigned short *)0x40052000) = 0x01D2;

/* copy data values from ROM to RAM */
source = (unsigned char *)&_etext;
destination = (unsigned char *)&_sdata;
while (destination < (unsigned char*)&_edata) {
    *(destination++) = *(source++);
}

/* clear bss section */
source = (unsigned char *)&_sbss;
destination = (unsigned char *)&_ebss;
while (source < destination ) {
    *source++ = 0;
}

main();

while(1);
}

lyzhangxiang 发表于 2014-5-7 21:17:48

LD文件比较难懂,当然如果配置过stm32的gcc环境的话,相信你会很熟悉,比较好懂的

memery mapping

MEMORY
{
VECTORS       (rx) : ORIGIN = 0x00000000, LENGTH = 0x410
FLASH         (rx) : ORIGIN = 0x00000800, LENGTH = 0x80000 - 0x800
SRAM_U      (rwx) : ORIGIN = 0x1FFF0000, LENGTH = 0x10000
SRAM_L      (rwx) : ORIGIN = 0x20000000, LENGTH = 0x10000
}

详细的说明可以参考网址:http://www.wtfpl.net/

霸气侧漏 发表于 2014-5-7 21:18:11

好东西啊支持了

sblpp 发表于 2014-5-7 21:18:28

谢谢楼主分享,还有mbed的一个git,用k20做的cmsis dap仿真器那个,也是非常不错。

sdlibin007 发表于 2014-5-7 21:23:25

谢谢楼主!!

zndz410 发表于 2014-5-7 22:17:39

好东西啊,学习了,谢谢楼主分亨。
页: [1]
查看完整版本: [资料分享]kinetis GITHUB上面不错的项目推荐