zubax_gnss简介
参考:https://docs.zubax.com/zubax_gnss
目录结构
bootloader:主要功能是升级application、加载application和初始化application需要的一些参数
firmware:采集气压计和gnss等传感器的信息,通过uavcan接口提供can信息采集
bootloader状态机
bootloader
libcanard:CAN总线安全工具,用于CAN升级application使用
src:bootloader关键处理代码
zubax_chibios:与chibios操作系统相关
ld.ld:flash分区信息
调试阶段,如果DEBUG编译,可能会报代码段溢出。如果修改代码段长度,Makefile中也要对应修改,不然程序找不到正确flash信息
bootloader\src
board:与芯片类型相关。初始化时钟、GPIO和GPIO重映射等
os_config:与芯片类型相关。管脚、时钟、外设的使能和参数配置
cli:命令行
uavcan:can封装
src目录下的东西就是移植的时候需要修改的,修改board初始化函数和os_config中各种配置文件与自己的板子适配
zubax_gnss移植:http://blog.csdn.net/zhangxuechao_/article/details/78446800
适配文件
适配的文件在目录下也可以找到,大神的代码中已经支持很多芯片,但是不是一点问题没有,可能还需要自己做一些修改才能编译过
尤其要注意外部高速时钟是不是配置正确,不然各种外设都会出问题。比如串口打印乱码
与芯片适配的os_config中的board.h配置文件
os_config中的其他三个配置文件。这也是测试chibios系统是否可用的第一个demo
hal库测试
在测试chibios系统之前,也可以先测试各种外设是否工作正常
zubax_chibios
源码中,默认只支持这三类芯片。如果还不能满足,需要自行添加rules_x.mk
#
# Copyright (c) 2014 Zubax, zubax.com
# Distributed under the MIT License, available in the file LICENSE.
# Author: Pavel Kirienko <pavel.kirienko@zubax.com>
#
ZUBAX_CHIBIOS_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
CPPSRC += $(ZUBAX_CHIBIOS_DIR)/zubax_chibios/platform/stm32/sys_stm32.cpp \
$(ZUBAX_CHIBIOS_DIR)/zubax_chibios/platform/stm32/watchdog_stm32.cpp \
CHIBIOS := $(ZUBAX_CHIBIOS_DIR)/chibios
include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/startup_stm32f1xx.mk //修改重点
include $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/platform_f105_f107.mk //修改重点
include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
LDSCRIPT ?= $(PORTLD)/STM32F107xC.ld //修改重点
MCU = cortex-m3 //修改重点
include $(ZUBAX_CHIBIOS_DIR)/_rules_armcm.mk
zubax_gnss简介的更多相关文章
- ASP.NET Core 1.1 简介
ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...
- MVVM模式和在WPF中的实现(一)MVVM模式简介
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...
- Cassandra简介
在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...
- REST简介
一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...
- Microservice架构模式简介
在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...
- const,static,extern 简介
const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...
- HTTPS简介
一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...
- 【Machine Learning】机器学习及其基础概念简介
机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...
- Cesium简介以及离线部署运行
Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...
随机推荐
- TOMCAT 可以稳定支持的最大并发用户数
微软系统平台上 TOMCAT性能调优后可以稳定支持的最大并发用户数量在300人服务器配置: 单硬盘,SATA 8MB缓存测试服务器和loadrunner运行服务器位于同一网段 100MB网络( ...
- [转]ProxmoxVE 干掉 VMware
很久没有写这种通俗易懂的文章了,不是我愤世嫉俗,而是因为确实太为那些花大价钱购买VMware的冤大头鸣不平. 确实VMware在虚拟化市场占有率非常高,技术也非常成熟,用户使用起来很方便,但是如果你是 ...
- 蓝绿部署、A/B测试以及灰度发布(金丝雀发布)
过去的10多年里,很多大公司都在使用蓝绿部署,安全.可靠是这种部署方式的特点.蓝绿部署虽然算不上”Sliver Bullet“,但确实很实用.在有关于“微服务”.“DevOps”.“Cloud-nat ...
- ES6将两个数组合并成一个对象数组
需求 有这么两个数组 let metrodates = [ "2008-01", "2008-02", "2008-03",..ect ]; ...
- 025批量删除mac文件名中的空格
一. 在准备王陆语料库资料时发现给的录音文件好多带有空格,不喜欢这样的,而且不方面mac下搜索和查找,所以想把它全部删掉,命令如下: find . -name "* *"| whi ...
- vue---发送数据请求的一些列的问题
使用vue做数据请求,首先考虑的是封装请求方法request.js import axios from 'axios' import Qs from 'qs' // 创建一个axios实例 const ...
- Windows EXE 依赖DLL查看
dumpbin (这个是visual studio 提供的工具或者可以安装 Dependency Walker)来查看 DLL 依赖关系 dumpbin /dependents filename.ex ...
- springboot 整合Elasticsearch
Elasticsearch Elasticsearch 是一个分布式.可扩展.实时的搜索与数据分析引擎. 它能从项目一开始就赋予你的数据以搜索.分析和探索的能力,可用于实现全文搜索和实时数据统计. 在 ...
- Java内存分析工具
内存分析工具 IDEA插件(VisualVM Launcher) 执行main函数的时候,同时启动jvisualvm,实时查看资源消耗情况.如图效果: Eclipse Memory Analyzer ...
- 进程间之异步通信:信号Signal
信号 信号是进程间通信机制中唯一的异步通信机制:信号机制是进程间传递消息的一种机制,是异步进程中通信的一种方式 一个进程一旦接收到信号就会打断原来的程序执行流程来处理信号 内核处理一个进程收到的软中断 ...