最近在开发一个基于ATMega2560的单片机系统,因为外围模块比较多,
同时也想以后开发其它板子时,能够稍微修改上一次的代码就可以适用到新板子,
查阅很多资料后,发现APM飞控就是用这样的一种思想:硬件抽象层;还有就是Android系统也使用了硬件抽象层的概念,这样的设计可以极大地提高兼容性。然而当我仔细研究APM的源码之后,我发现我找不到任何访问硬件的信息,难道C++不能直接访问硬件吗?在这里提问,希望各位师兄师姐,给位大神,牛人能够不吝赐教,小生感激不尽!在此先谢过大家了~~~
用C++面向对象的方法访问硬件资源
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- 无规矩不成方圆 2015-01-14 06:06关注
嵌入式操作系统一般都是使用宏定义来定义设备的接口地址,像我之前使用的C51单片机,根本没有操作系统,通过说明书可以了解到它的许多接口地址,这些都是生产厂商规定好的,我使用的时候都是重新用宏来定义一下(地址较少相对简单),如果是其他平台(arm板等等),建议你搜索一下其他嵌入式系统,我之前一直在用ucos-ii,这是一款专门的嵌入式操作系统,代码精简深入,用C语言写的,其中就涉及到你说的硬件操作问题,很适合你去学习,相信你看过以后问题自然就会明白了。这是ucos官网http://micrium.com/
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 報錯:Person is not mapped,如何解決?
- ¥15 c++头文件不能识别CDialog
- ¥15 Excel发现不可读取的内容
- ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题