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

     老话题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. 三、图像移动《苹果iOS实例编程入门教程》

    该app为应用的功能为动态移动动画 现版本 SDK 8.4 Xcode 运行Xcode 选择 Create a new Xcode project ->Single View Applicati ...

  2. MongoDB数据库的简介及安装

    一.MongoDB数据库简介 简介 MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自“humongous”,是一种开源的文档数据库──No ...

  3. 看好你的门-客户端传数据-用java修改referer

    1.简单说明 Referer.origin用来表明,浏览器向WEB服务器表明自己来自哪里.但是就它本身而言,并非完全安全. 写一个例子,可以任意修改http信息头中的referer.origin 2. ...

  4. marquee滚动语法

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  5. Oracle基础及三层分页查询

    一.数据库表空间和数据文件 解析:一个数据库下可以开N个表空间,一个表空间可以包含N个数据文件.表空间是逻辑概念. 二.关于listener.ora位置 修改该界面上的数据,会影响指定路径的监听配置文 ...

  6. [zt]OpenCV2.1.0的安装

    下载和安装 OpenCV 2.1.0 2.添加库文件:打开VS 2008,选择菜单:Tools->options->Projects and Solutions >VC++ Dire ...

  7. ubuntu 安装 wkhtmltopdf 的方法

    参考自:http://vivianyw.blog.163.com/blog/static/1345474222014334256367/ wkhtmltopdf有编译好的Linux版本,找到http: ...

  8. 几何不能具有Z值

    ArcEngine 复制要素Geometry时,产生 几何不能具有Z值 的异常 解决方法:http://forums.esri.com/Thread.asp?c=159&f=1707& ...

  9. HTML静态网页 图片热点、框架、表单

    图片热点: 规划出图片上的一个区域,可以做出超链接,直接点击图片区域就可以完成跳转的效果. 示例: 网页划区: 在一个网页里,规划出一个区域用来展示另一个网页的内容. 示例: 框架: 1.frames ...

  10. Another app is currently holding the yum lock; waiting for it to exit...

    刚安装完虚拟机,用xshell连接上linux后,安装程序时一直出现这个信息Another app is currently holding the yum lock; waiting for it ...