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

     老话题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. 【转】C#进阶系列——WebApi 接口参数不再困惑:传参详解

    原文地址:http://www.cnblogs.com/landeanfen/archive/2016/04/06/5337072.html 阅读目录 一.get请求 1.基础类型参数 2.实体作为参 ...

  2. selenium grid中的多个线程同步执行

    需求:有一个工作流,每一步审批都需要多个领导参与,才能推流程到下一步去 代码思考:多个领导在自己的线程中运行,速度有的快有的慢,如何保证下一步的领导审批时,这个步骤已经激活 如下是代码:思路为:如果这 ...

  3. linux下转换U盘文件系统

    打算在windows 7 下复制一个12G 的文件至U盘,无奈U盘为FAT32格式,最大支持移动4G 的文件,只能将U盘文件系统格式化为NTFS.windows 7系统出现问题,转化中总是出现错误.故 ...

  4. Hive_初步见解,安装部署与测试

    一.hive是什么东东 1. 个人理解 hive就是一个基于hdfs运行于MapReduce上的一个java项目, 这个项目封装了jdbc,根据hdfs编写了处理数据库的DDL/DML,自带的 二进制 ...

  5. 弹出层js让DIV居中

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. Leetcode | Find Minimum in Rotated Sorted Array I && II

    Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...

  7. 【iCore3 双核心板】例程三:EXTI中断输入实验——读取ARM按键状态

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

  8. python 安装mysql-python模块

    方式一 使用yum安装 # yum install MySQL-python 方式二 使用pip 安装 # pip install mysql-python 使用pip方式安装需要提前安装如下依赖 m ...

  9. 国内docker镜像

    daocloud:https://www.daocloud.io/ 网易蜂巢:https://c.163.com/

  10. 移动端性能优化动态加载JS、CSS

    JS CODE (function() { /** * update: * 1.0 */ var version = "insure 1.1.0"; var Zepto = Zep ...