看了介绍,觉得挺不错的东西,希望能够一路走下去 

     老话题STM32编程,新思路,一样是编程,味道却大有不同。这就是STM32之eBox编程。让你提议不一样的编程,让开发快到你意想不到!

从上学那会儿就开始学习51单片机,到后来的AVR,随后的STM32一路走来各种单片机玩来玩去,从一个菜鸟变成一个能飞翔的小鸟(还是个鸟),再后来慢慢的做了项目,实践出真知,做项目和玩开发板完全是两个概念,这个过程让我成长了不少,从中学习到了很多只是,特别是对c/c++有了更深刻的认识。

随着项目经历越来越多,发现了一个问题,我在一个平台写的软件想要移植到另一个平台总会要修改大量的代码。稍不注意可能就会出错,让人头疼至极!退一步,即使不跨平台,我想移植一个别人的代码都要花很大功夫,我想大家也是会遇到类似的情况。

这个问题困扰了我多年,无法解决,在去年和几个好朋友一起爬山,突然聊到单片机各种芯片的驱动的问题,那时候想,如果有一个网站上可以下载任意我想要的驱动该多好啊!再也不用从网上到处搜索。可以说这是一个思想的起点。智者的交流产生了智慧的火花!

到了今年的5月份又深度的思考了下这个问题,如果想实现这样的一个功能,除了要收集网络上散布的各种驱动外,还必须要做到一点,就是将驱动接口和配置标准化,否则用户拿到驱动以后依然需要做大量的兼容性修改。这样相当于问题只解决了一半,另一半该怎么解决?经过和芒果大神讨论,得出结论:要想驱动可移植性增强唯有做一套标准的程序架构,约束驱动程序的书写规则!俗话说得好,无规矩不以成方圆。没有法律的自由,就是个混乱的世界!这就找到了解决问题的切入点!这就是燃料棒,让智慧之火得以持久燃烧!

然后,然后,然后干嘛?你说干嘛!制定规矩啊!规矩我定,游戏自己玩。然后就进入了while(1)的死循环,每天修改规则、写代码,修改规则、写代码……

夜深人静,墙上的那只破表滴答、滴答、滴答地响个不停,仿佛打了鸡血,不知疲倦。而我安静的坐着,噼里啪啦的敲着键盘,好像故意地配合着滴答声。不知不觉,抬起头,才发现已经三点了……睡吧,明天还要上班呢。就是这样无数个夜以继日的噼里啪啦,才完成了eBox的雏形——eBox-V1.0。希望之火正式点燃!

再回头来看,突然发现eBox已经不止是实现了最初的想法,除了完成了标准程序和驱动架构外,额外的收获就是,完成了STM32的固件库二次封装,完成了标准应用层,还有一个简单的操作系统和bootloader。然后又产生了一个新的想法,就是将驱动层及其以上所有的应用程序做到硬件无关。将eBox核心固件库移植到51、AVR、飞思卡尔、恩智浦等等微控制器上。做到最大化的接口兼容,这样就可以保证我所有的驱动和应用代码在任意微控制器上无缝兼容!
这就是eBox的最大的梦想!虽然离梦想还有段距离,但是我已经能看到曙光!

为了能让eBox的希望之火得以燎原,我将第一款开发板命名为SPARK。寓意:火花。

当然要实现eBox这个梦想,只有我一个人是无法做到的,精力有限。需要发动更多的人参与进来才是硬道理!就在这时,我认识了电子发烧友的管理人员,在了解我的eBox的想法之后,大力支持我的想法。帮助我做了很多我个人能力做不到的事情!电子发烧友平台是一个eBox发展的助力平台!也是分享的平台!让更多的爱好者实现梦想,让更多的爱好者分享梦想带来的成果!

我的众筹项目地址:http://z.elecfans.com/2 期待大家一起来完善和发展eBox,打造国人自己的库,不仅仅支持STM32,更能支持飞思卡尔MCU、NXP MCU······

关于ebox的更多相关文章

  1. eBox(stm32) 之中断结构

    eBox的中断结构参考了mbed,和我们平时所用的中断结构有些差异,不容易理解,最近仔细看了底层代码,终于搞清楚了,总结一下         一  首先要要搞清楚的几个概念:类的静态成员,实例成员   ...

  2. 基于eBox的LTC1446驱动

    LTC1446 是linear出品的双通道12bit轨对轨DAC芯片,采用SPI接口,内部基准电压,满量程输出4.095v,单电源供电(4.5-5v).8Pin封装.            使用时非常 ...

  3. ebox学习之SD & fat 配置

    fatfs可配置项很多,相关的配置均在ffconfig.h文件中 /*----------------------------------------------------------------- ...

  4. 基于eBox旋转编码器

    在电子产品设计中,经常会用到旋转编码开关,比如数码电位器等,它的英文名翻译过来就是Rotary Encoder Switch.常见的有5pin和3pin产品.5pin实在左右旋转的基础上增加了向下按得 ...

  5. 移植mbed到目标板

    上一篇我们导出了mbed基本环境到mdk,根据实际目标还需要做些修改.手头的硬件是ebox平台,芯片STM32F103C8T6,调试器jlink,默认使用UART1. 导出时所选择的NUCLEO-F1 ...

  6. 基于MDK的mbed工程建立

    个人更喜欢mdk作为IDE来编写代码,而mbed作为一个开源项目,有大量优秀代码可以借鉴使用,今后一段时间都会主要看mbed平台的代码以及国内ebox平台代码         1  首先登陆mbed在 ...

  7. 2016 12 21 的project 未注释版

    #include<stack>#include<iostream>#include<queue>#include<string>#include< ...

  8. 半径无关单核单线程最快速高斯模糊实现(附完整C代码)

    之前,俺也发过不少快速高斯模糊算法. 俺一般认为,只要处理一千六百万像素彩色图片,在2.2GHz的CPU上单核单线程超过1秒的算法,都是不快的. 之前发的几个算法,在俺2.2GHz的CPU上耗时都会超 ...

  9. 立体匹配:关于理解middlebury提供的立体匹配代码后的精减

    Middlebury立体匹配源码总结 优化方法 图像可否预处理 代价计算可否采用BT方式 可选代价计算方法 可否代价聚合 可否MinFilter优化原始代价 WTA-Box 可以 可以 AD/SD 可 ...

随机推荐

  1. DOM的概念及子节点类型【转】

    前言 DOM的作用是将网页转为一个javascript对象,从而可以使用javascript对网页进行各种操作(比如增删内容).浏览器会根据DOM模型,将HTML文档解析成一系列的节点,再由这些节点组 ...

  2. PHP 解决nginx 用file_get_content 问题

    $my_curl = curl_init(); //初始化一个curl对象 curl_setopt($my_curl, CURLOPT_URL, "http://www.webjoy.net ...

  3. WebApp之Meta标签

    <meta name="apple-touch-fullscreen" content="yes">"添加到主屏幕“后,全屏显示 < ...

  4. [zt]矩阵求导公式

    今天推导公式,发现居然有对矩阵的求导,狂汗--完全不会.不过还好网上有人总结了.吼吼,赶紧搬过来收藏备份. 基本公式:Y = A * X --> DY/DX = A'Y = X * A --&g ...

  5. XML 中对当前时间的引用

    current_date 而不是 date 然而,在attrs 和 readonly中并不适用.

  6. Odoo 动态设置树形视图列表中的字段

    依赖第三方模块实现,实现效果图如下: 原模块只有9.0版本 ,今改成了8.0版本. git地址见群内公告.

  7. CSS,bootstrap表格控制当td内容过长时用省略号表示,以及在不使用bootstrap时过长也用省略号表示

    首先需要在table中设置table-layout:fixed; <table style="table-layout:fixed"></table> 然后 ...

  8. windows7远程桌面连接unbuntu12.04

    参考:http://mawenjian.net/p/1221.html http://blog.csdn.net/chengfei112233/article/details/6623672 http ...

  9. html 锚点的使用

    html 锚点 到底是干吗的?通俗简单地说,比如一篇很长的文章,你想按分段精确来看,那就可以用到锚点了. 代码:<a href="#001">跳到001</a&g ...

  10. 【iCore3 双核心板】例程二十一:LAN_TCPS实验——以太网数据传输

    实验指导书及代码包下载: http://pan.baidu.com/s/1ntTjWpV iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...