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

     老话题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. 在docker 中搭建gitlab环境

    docker run --name gitlab -it -p : -p : -p : \ --env 'GITLAB_SECRETS_DB_KEY_BASE=Rpwq35wjLJ5N6CrkvdXs ...

  2. poi excel导出,下载

    poi.jar包 public void downExcel(HttpServletResponse response,Page<ShopApply> page) throws Excep ...

  3. Eclipse中添加PyDev插件

    思路 1.启动Eclipse, 2.点击Help->Install New Software... 3.在弹出的对话框中,点Add 按钮. 4.Name中填:Pydev, Location中填h ...

  4. CodeForces 219D 树形DP

    D. Choosing Capital for Treeland time limit per test 3 seconds memory limit per test 256 megabytes i ...

  5. sass学习笔记1

    less在处理CSS动画时,非常恶心,决定转向sass了.sass诞生得比less早,只是因为它是ruby写的,因此受众面够少.但我们不需要自己下编译器或使用命令行,我们可以koala这神器 首先几个 ...

  6. iis上json解析失败404

    控制面板->打开或关闭windows功能->Internet信息服务->万维网服务->应用程序开发功能,勾选上“.net扩展性”和“ASP.NET”,保存后,重启IIS服务器. ...

  7. Redis菜鸟汇总

    1.是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为 ...

  8. MySQL数据库初用(5.6版本)第一课

    参考:http://wenku.baidu.com/link?url=NlX55fDDQ02wESO1HNkxpvju2xATwe9Fym0MfojWddXbYaJcjEKKRF9z9EX4b7shV ...

  9. Python学习笔记——部分常用/特殊用法

    1.使用*号来展开序列,*是序列展开,每个元素都当做一个参数.ls = (1, 2, 3);foo(ls),这样foo只有一个参数,就是ls这个列表本身foo(*ls), foo得到3个参数,分别为1 ...

  10. 酷友观点/经验:支付接口返回数据接收地址,session数据丢失(或者说失效)的问题浅析(原创文章)

    酷友观点/经验:支付接口返回数据接收地址,session数据丢失(或者说失效)的问题浅析(原创文章)   最近手头在开发一个游戏官网,在支付模块采用神州付技术支持,神州付数据表单中要求提供服务器返回地 ...