- 上一章修改了Makefile,现在只需要修改一下链接脚本,大部分的移植工作就算做完了。什么是链接脚本? 链接脚本全称GNU-LD,供gcc工具链在链接阶段时调用,一个hex/bin/elf文件内有多个段,例如只读数据段、代码段、数据段、未初始化数据段等等,这些段在hex/bin/elf文件内的排放顺序取决于链接脚本,这里和大家说一STM32的例子,大家都知道在STM32的程序0地... 上一章修改了Makefile,现在只需要修改一下链接脚本,大部分的移植工作就算做完了。什么是链接脚本? 链接脚本全称GNU-LD,供gcc工具链在链接阶段时调用,一个hex/bin/elf文件内有多个段,例如只读数据段、代码段、数据段、未初始化数据段等等,这些段在hex/bin/elf文件内的排放顺序取决于链接脚本,这里和大家说一STM32的例子,大家都知道在STM32的程序0地...
- 什么是MakefileMakefile是一个名为GNU-Make软件所需要的脚本文件,该脚本文件可以指导Make软件控制arm-gcc等工具链去编译工程文件最终得到可执行文件,几乎所有的Linux发行版都内置了GNU-Make软件,VScode等多种IED也内置了Make程序。你见到的xxx.mk文件或者Makefile都统称为Makefile脚本文件。Makefile脚本文件的语法学习可以... 什么是MakefileMakefile是一个名为GNU-Make软件所需要的脚本文件,该脚本文件可以指导Make软件控制arm-gcc等工具链去编译工程文件最终得到可执行文件,几乎所有的Linux发行版都内置了GNU-Make软件,VScode等多种IED也内置了Make程序。你见到的xxx.mk文件或者Makefile都统称为Makefile脚本文件。Makefile脚本文件的语法学习可以...
- 根据上一篇文章中的分析,我们需要先使用STM32CubeMX软件生成一些用到的外设的初始化代码,也就是存放在Inc和Src文件夹中的这些代码。STM32CubeMX介绍STM32CubeMX是一个ST公司推出的工具,主要用于通过图形化界面为STM32微控制器生成C语言版本的初始化代码和工程,甚至生成后的工程可以再次通过图形化界面进行修改,极大降低了开发难度,提高了开发效率。能生成支持IAR,... 根据上一篇文章中的分析,我们需要先使用STM32CubeMX软件生成一些用到的外设的初始化代码,也就是存放在Inc和Src文件夹中的这些代码。STM32CubeMX介绍STM32CubeMX是一个ST公司推出的工具,主要用于通过图形化界面为STM32微控制器生成C语言版本的初始化代码和工程,甚至生成后的工程可以再次通过图形化界面进行修改,极大降低了开发难度,提高了开发效率。能生成支持IAR,...
- 今天,我们分享的内容主要是物联网操作系统中的任务管理。在开始正式的阅读分享帖之前,按惯例,我们需要思考几个问题:进程和线程,你是否了解其区别与联系?什么是任务?物联网操作系统中的任务管理主要包含那几个方面?如果你认真的思考了上面的问题,那么请你阅读下面的分享,也希望你能Get到属于自己的盲点知识!一、任务管理基本概念 进程:正在运行程序的一个实例 线程:进程中的一个实体,是被系*... 今天,我们分享的内容主要是物联网操作系统中的任务管理。在开始正式的阅读分享帖之前,按惯例,我们需要思考几个问题:进程和线程,你是否了解其区别与联系?什么是任务?物联网操作系统中的任务管理主要包含那几个方面?如果你认真的思考了上面的问题,那么请你阅读下面的分享,也希望你能Get到属于自己的盲点知识!一、任务管理基本概念 进程:正在运行程序的一个实例 线程:进程中的一个实体,是被系*...
- 预告的读书笔记专题,今天正式开更,谢谢期待…… 今天,我们分享的内容主要是关于物联网操作系统的概述。 在正式阅读分享帖之前,我们思考3个问题: 1.什么是操作系统? 2.你接触过的操作系统有哪些?它们有什么特征? 3.物联网操作系统是什么? 如果你认真的思考了上面的问题,那么请你阅读下面的分享,也希望你能Get到属于自己的盲点知识! 一、操... 预告的读书笔记专题,今天正式开更,谢谢期待…… 今天,我们分享的内容主要是关于物联网操作系统的概述。 在正式阅读分享帖之前,我们思考3个问题: 1.什么是操作系统? 2.你接触过的操作系统有哪些?它们有什么特征? 3.物联网操作系统是什么? 如果你认真的思考了上面的问题,那么请你阅读下面的分享,也希望你能Get到属于自己的盲点知识! 一、操...
- 参与活动,请移步原帖参与,原帖子链接:https://bbs.huaweicloud.com/forum/thread-70095-1-1.html【乘风破浪赋能学习季】学IoT课程get干货,“盖楼发帖”赢取大奖这个暑假你有什么计划吗?当然是用来学习了,乘风破浪学课程,get技术干货,了解更多IoT知识! 【活动时间】2020年8月7日-2020年8月24日 12:00【参与方式】1.报名... 参与活动,请移步原帖参与,原帖子链接:https://bbs.huaweicloud.com/forum/thread-70095-1-1.html【乘风破浪赋能学习季】学IoT课程get干货,“盖楼发帖”赢取大奖这个暑假你有什么计划吗?当然是用来学习了,乘风破浪学课程,get技术干货,了解更多IoT知识! 【活动时间】2020年8月7日-2020年8月24日 12:00【参与方式】1.报名...
- 提到操作系统,第一时间我们就会想到运行在电脑上的Windows,想起运行在手机上的安卓。这些系统直接运行在“裸机”设备的最低层,搭建起其他软件、应用运行的环境与基础。操作系统的兴起、完善,促成了软件与应用的兴起,铸就了辉煌的PC时代与移动互联网时代。 谈到物联网,最大的问题之一就在于沟通,不同设备、不同标准之间的沟通、软件与硬件的沟通。如何解决这种 “沟通”问题,操作系统变得尤为重要。物联网... 提到操作系统,第一时间我们就会想到运行在电脑上的Windows,想起运行在手机上的安卓。这些系统直接运行在“裸机”设备的最低层,搭建起其他软件、应用运行的环境与基础。操作系统的兴起、完善,促成了软件与应用的兴起,铸就了辉煌的PC时代与移动互联网时代。 谈到物联网,最大的问题之一就在于沟通,不同设备、不同标准之间的沟通、软件与硬件的沟通。如何解决这种 “沟通”问题,操作系统变得尤为重要。物联网...
- 以小熊派为例,使用TIM16(通用定时器)产生pwm,使用TIM2(通用定时器)的通道1、通道2捕获pwm的高电平时间、周期。 以小熊派为例,使用TIM16(通用定时器)产生pwm,使用TIM2(通用定时器)的通道1、通道2捕获pwm的高电平时间、周期。
- 摘要:由于前面几篇文章都属于源码级解析,本篇文章带领大家实践使用整个AT框架,将前面的知识串联在一起讲解,让大家能真正将AT框架运用到实际开发当中。 初始化:我们的初始化流程和上图一致,由下到上进行初始化。1. 在Uart.c文件实现将uart注册进driver层中的函数并调用宏定义等待初始化driver层时自动注册: 2. 调用driver层中的初始化函数,初始化d... 摘要:由于前面几篇文章都属于源码级解析,本篇文章带领大家实践使用整个AT框架,将前面的知识串联在一起讲解,让大家能真正将AT框架运用到实际开发当中。 初始化:我们的初始化流程和上图一致,由下到上进行初始化。1. 在Uart.c文件实现将uart注册进driver层中的函数并调用宏定义等待初始化driver层时自动注册: 2. 调用driver层中的初始化函数,初始化d...
- AT框架关闭打印调试信息函数该函数用于关闭AT打印调试信息,如果关闭了AT框架在收到数据时就不会进行相应的打印了。1. int at_debugclose(void) 2. { 3. //for the debug 4. g_at_cb.rxdebugmode = en_at_debug_none; //本质上就是修改了结构体中的成员变量5. g_a... AT框架关闭打印调试信息函数该函数用于关闭AT打印调试信息,如果关闭了AT框架在收到数据时就不会进行相应的打印了。1. int at_debugclose(void) 2. { 3. //for the debug 4. g_at_cb.rxdebugmode = en_at_debug_none; //本质上就是修改了结构体中的成员变量5. g_a...
- 设备开启函数我们在使用某个设备之前,如果该设备具有open和close的能力,就要先去打开该设备,用完之后关闭该设备。 设备关闭函数在使用完设备之后,我们可以调用设备关闭函数。向设备中读取数据向设备中写入数据 设备开启函数我们在使用某个设备之前,如果该设备具有open和close的能力,就要先去打开该设备,用完之后关闭该设备。 设备关闭函数在使用完设备之后,我们可以调用设备关闭函数。向设备中读取数据向设备中写入数据
- 摘要:本贴详解driver层,相信大家肯定有疑问,为啥我不说完AT层再说driver层?因为AT层就是通过调用driver层中的API来操作串口的,所以不得不在AT层的详解中先把driver层说了。编程的抽象思想我们在接到一个客户的需求时,帮客户制作一份程序,大家有没有想过“我能不能把这个客户需要的代码下次卖给其他客户,节约自己的工作量”。要如何才能将刚刚我们提出的想法实现呢?这就需要通过编... 摘要:本贴详解driver层,相信大家肯定有疑问,为啥我不说完AT层再说driver层?因为AT层就是通过调用driver层中的API来操作串口的,所以不得不在AT层的详解中先把driver层说了。编程的抽象思想我们在接到一个客户的需求时,帮客户制作一份程序,大家有没有想过“我能不能把这个客户需要的代码下次卖给其他客户,节约自己的工作量”。要如何才能将刚刚我们提出的想法实现呢?这就需要通过编...
- 摘要:本贴以前面3篇帖子作为基础(由下至上Uart.c、driver.c),讲解AT框架,这三层之间由下到上是一个依次调用关系,如果对前面的内容不熟悉,请回头看一看(可以通过汇总帖中的链接查看),再来看本贴,你就会更加明白和清晰了。本系列汇总贴:https://bbs.huaweicloud.com/forum/thread-51806-1-1.html下图红框中的位置是本帖所讲解内容在整个... 摘要:本贴以前面3篇帖子作为基础(由下至上Uart.c、driver.c),讲解AT框架,这三层之间由下到上是一个依次调用关系,如果对前面的内容不熟悉,请回头看一看(可以通过汇总帖中的链接查看),再来看本贴,你就会更加明白和清晰了。本系列汇总贴:https://bbs.huaweicloud.com/forum/thread-51806-1-1.html下图红框中的位置是本帖所讲解内容在整个...
- 摘要:本节以解析UART.c文件中的代码为主,为了后面讲解AT框架及Driver框架做铺垫。关于串口的背景知识:https://bbs.huaweicloud.com/forum/thread-53612-1-1.html由于该文件中设计到了ring_buffer也就是环形数据结构的操作,你可以先阅读该篇文章,理解环形数据结构:https://bbs.huaweicloud.com/foru... 摘要:本节以解析UART.c文件中的代码为主,为了后面讲解AT框架及Driver框架做铺垫。关于串口的背景知识:https://bbs.huaweicloud.com/forum/thread-53612-1-1.html由于该文件中设计到了ring_buffer也就是环形数据结构的操作,你可以先阅读该篇文章,理解环形数据结构:https://bbs.huaweicloud.com/foru...
- 如果你想彻底搞清楚LiteOS_Lab,我以下分享的知识你都应该去了解一下,不需要彻底掌握,但是至少要会看懂、能修改。一、GNU Make (Makefile) 这是在LiteOS_Lab中用于控制编译文件的工具,比如你在一个工程中添加了某些文件或者删除了某些文件,你需要修改相应的Makefile来达到控制编译的目的,你还可以在Makefile中添加一些特定的选项,比如-O来调节优化等... 如果你想彻底搞清楚LiteOS_Lab,我以下分享的知识你都应该去了解一下,不需要彻底掌握,但是至少要会看懂、能修改。一、GNU Make (Makefile) 这是在LiteOS_Lab中用于控制编译文件的工具,比如你在一个工程中添加了某些文件或者删除了某些文件,你需要修改相应的Makefile来达到控制编译的目的,你还可以在Makefile中添加一些特定的选项,比如-O来调节优化等...
上滑加载中
推荐直播
-
DTT年度收官盛典:华为开发者空间大咖汇,共探云端开发创新
2025/01/08 周三 16:30-18:00
Yawei 华为云开发工具和效率首席专家 Edwin 华为开发者空间产品总监
数字化转型进程持续加速,驱动着技术革新发展,华为开发者空间如何巧妙整合鸿蒙、昇腾、鲲鹏等核心资源,打破平台间的壁垒,实现跨平台协同?在科技迅猛发展的今天,开发者们如何迅速把握机遇,实现高效、创新的技术突破?DTT 年度收官盛典,将与大家共同探索华为开发者空间的创新奥秘。
回顾中 -
GaussDB应用实战:手把手带你写SQL
2025/01/09 周四 16:00-18:00
Steven 华为云学堂技术讲师
本期直播将围绕数据库中常用的数据类型、数据库对象、系统函数及操作符等内容展开介绍,帮助初学者掌握SQL入门级的基础语法。同时在线手把手教你写好SQL。
回顾中 -
算子工具性能优化新特性演示——MatMulLeakyRelu性能调优实操
2025/01/10 周五 15:30-17:30
MindStudio布道师
算子工具性能优化新特性演示——MatMulLeakyRelu性能调优实操
即将直播
热门标签