<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[大西瓜]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_41003780</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_41003780]]></copyright><item><title><![CDATA[史上最全的Git使用手册]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/123285406</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/123285406</guid><author>weixin_41003780</author><pubDate>Fri, 04 Mar 2022 21:12:17 +0800</pubDate><description><![CDATA[git manual
一、代码提交


将新建文件加入到暂存区


git add hello_world.c   #将hello_world.c加入到暂存区



将所有改变的文件加入到暂存区


git add.  #将hello_world.c加入到暂存区



查看当前状态


git status



将暂存区的文件提交到本地的git仓库
git commit -m "add:添加一个新文件...."



将本地的git代码提交到git服务器
git push #提交到git服务器仓库



]]></description><category></category></item><item><title><![CDATA[嵌入式软件架构七]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/123061377</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/123061377</guid><author>weixin_41003780</author><pubDate>Tue, 22 Feb 2022 09:53:56 +0800</pubDate><description><![CDATA[前言： 在多线程实时系统中，一项工作的完成成往往可以通过多个线程协调的方式共同来完成，那么多个线程之间如何 “默契” 协作才能使这项工作无差错执行？
例如一项工作中的两个线程：一个线程从传感器中接收数据并且将数据写到共享内存中，同时另一个线程周期性的从共享内存中读取数据并发送去显示，下图描述了两个线程间的数据传递：

韦东山老师视频学习链接
嵌入式软件架构一
嵌入式软件架构二
嵌入式软件架构三
嵌入式软件架构四
嵌入式软件架构五
嵌入式软件架构六
线程的同步方式有多种，分别为信号量、互斥量、事件集。

信号]]></description><category></category></item><item><title><![CDATA[嵌入式软件架构六]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/123060819</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/123060819</guid><author>weixin_41003780</author><pubDate>Tue, 22 Feb 2022 09:31:30 +0800</pubDate><description><![CDATA[前言从裸机编码分析其处理问题的局限以及不足，引入了RTOS，本节主要说明RTOS任务是如何管理调度的。
韦东山老师视频学习链接
嵌入式软件架构一
嵌入式软件架构二
嵌入式软件架构三
嵌入式软件架构四
嵌入式软件架构五
RT-Thread线程管理的主要功能是对线程进行管理和调度，系统中总共存在两类线程，分别是系统线程和用户线程，系统线程是由RTT内核创建的线程，用户线程是由应用程序创建的线程，这两类线程都会从内核对象容器中分配线程对象，当线程被删除时，也会从对象容器中删除，而每个线程都有重要的属性，线程控制块]]></description><category></category></item><item><title><![CDATA[嵌入式软件架构五]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/123051428</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/123051428</guid><author>weixin_41003780</author><pubDate>Mon, 21 Feb 2022 17:27:07 +0800</pubDate><description><![CDATA[前言前四节主要分享了单片机裸机开发的学习心得以及工作经验与一些源码，本节开始分享实时操作系统RTOS的原理。
韦东山老师视频学习链接
嵌入式软件架构一
嵌入式软件架构二
嵌入式软件架构三
嵌入式软件架构四
1. RTOS的内核组成部分
以RT-Thread内核为主介绍RTOS内核的组成；
内核是操作系统最基础最重要的部分，内核处于硬件层之上。

RT-Thread内核由以下几个部分组成：

线程调度
时钟管理
线程间同步
线程间通信
内存管理
IO设备管理


...]]></description><category></category></item><item><title><![CDATA[嵌入式软件架构四]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/123020002</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/123020002</guid><author>weixin_41003780</author><pubDate>Sat, 19 Feb 2022 16:55:37 +0800</pubDate><description><![CDATA[前言： 本文是通过学习韦东山老师的嵌入式开发框架系列课程第四课，主要说明各个任务、各个系统直接如何分层实现，让整个系统实现双向解耦，即纵向、横向解耦，这样实现的代码后期维护起来非常方便，代码可读性也很强，扩展性非常好。
韦东山老师视频学习链接
嵌入式软件架构一
嵌入式软件架构二
嵌入式软件架构三
1、本文通过学习嵌入式系统的分层思想结合自身工作中的经验分享以NB-IoT模块为例的分层思想，一般在系统设计中可将系统按照业务功能分为功能模块，也就是分为子系统或者模块，再将模块进行横向分层，可分为驱动层、中间管理]]></description><category></category></item><item><title><![CDATA[嵌入式软件架构三]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/123017396</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/123017396</guid><author>weixin_41003780</author><pubDate>Sat, 19 Feb 2022 14:03:31 +0800</pubDate><description><![CDATA[前言： 通过对韦老师的逻辑架构的学习，再结合工作中实际的经验以及在《嵌入式软件架构一》中提到的那位大佬的逻辑代码中任务调度的逻辑，分享自己的理解以及任务的调度管理。
一、任务管理原理
任务管理总共分为：任务创建、删除任务、设置任务间隔、任务调度；
1、定义一个函数指针作为任务的入口函数与任务结构体
typedef void (*TASK_FUN)(INT32U para);

// 任务项定义
typedef struct
{
	INT8U Used;                     // 使用
	]]></description><category></category></item><item><title><![CDATA[嵌入式软件架构二]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/122986493</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/122986493</guid><author>weixin_41003780</author><pubDate>Thu, 17 Feb 2022 17:05:03 +0800</pubDate><description><![CDATA[说明：近期通过学习韦东山老师的裸机与RTOS再次强化了软件设计思想，因此特通过此博客进行记录。
韦东山老师学习资料链接
1、上一节提到使用定时器的事件驱动方式调度任务依然有缺陷，主要的缺陷有一旦某个函数执行的时间超长，就会有如下后果：

影响其他函数；
延误整个时间基准；
上一节的链接地址
改进方法是在定时器中断中只负责每个任务当前时间的减减，而任务调度放在主循环中，这种方式情况下，时间基准不会被耽误，但是A 、B 、 C的调用再次退化为轮询方式，A、B、C相互之间有影响，每个任务运行的时间不能过长，不能被]]></description><category></category></item><item><title><![CDATA[嵌入式软件架构一]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/122984278</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/122984278</guid><author>weixin_41003780</author><pubDate>Thu, 17 Feb 2022 16:25:55 +0800</pubDate><description><![CDATA[前言：随着工作年限的延长，已经不能满足于刚毕业时单纯的学习某一个知识点就能解决问题了，在工作中需要对行业的标准以及发展沉淀并积累。嵌入式开发同样如此，不能满足于功能的实现，而是整个系统架构的设计，因此操作系统原理的掌握以及分层思想是尤为重要的，近期通过学习韦东山老师的裸机与RTOS再次强化了软件设计思想，因此特通过此博客进行记录。
韦东山老师学习资料链接
一、裸机编程思想
1.1 回想
刚参加工作的时候，看到同事编写的一个逻辑代码，当时感觉就是太牛了，而我当时只是处于while(1)的死循环中，人家不仅有模]]></description><category></category></item><item><title><![CDATA[物联网实战开发—环境搭建]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/113620014</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/113620014</guid><author>weixin_41003780</author><pubDate>Wed, 03 Feb 2021 22:00:56 +0800</pubDate><description><![CDATA[本文经过学习郭朝斌老师在《极客时间》中的课程物联网实战开发记录而成。
使用的开发板为NodeMCU的基于ESP8266芯片版本，使用的编程语言为python。
第一步：首先需要在开发板上搭建Micro Python开发环境，可以在Micro Python官网上下载关于ESP8266的固件，这样省去了交叉编译等工作，官网链接为：https://micropython.org/download/esp8266/
，此时我下载的版本为esp8266-20210202-v1.14.bin。此版本为最新的稳定版本。
]]></description><category></category></item><item><title><![CDATA[Samba配置]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/111356419</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/111356419</guid><author>weixin_41003780</author><pubDate>Fri, 18 Dec 2020 14:05:15 +0800</pubDate><description><![CDATA[前言：我们在很多开发过程中都会遇到需要在linux环境中编译的情况，比如linux开发、HarmonyOS开发，其编译都需要在Linux环境下进行，但是代码开发又在Windows上进行编辑比较方便，因此需要有个工具将两者联系起来，Linux环境可以是服务器（大多数公司会使用），也可以是虚拟机上运行的Linux系统，此处我以虚拟机上运行的Ubuntu系统为例，介绍一种工具，Samba,的按照以及使用。
第一步：安装Samba
在linux下进去终端或者远程ssh链接，注意，此处一定要连网，也就是虚拟机与主机相]]></description><category></category></item><item><title><![CDATA[虚拟机与电脑主机网络配置]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/111092616</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/111092616</guid><author>weixin_41003780</author><pubDate>Sun, 13 Dec 2020 11:47:28 +0800</pubDate><description><![CDATA[下面主要分享记录我的虚拟机网络配置过程以及遇到网络不通问题的解决办法：
1、配置：在虚拟机上将网络连接配置成NAT模式，当然桥接模式也行，我是使用NAT模式，如下图：

然后再在终端中查看网络地址等信息，虚拟机中使用如下命令：
ifconfig

其中ens33为我们使用到的网卡，虚拟机的IP地址为192.168.229.128，当然每个人的不一样。
再在电脑上按win+R,出现
，输入cmd打开并输入
ipconfig

查看当前电脑的IP并在电脑上ping虚拟机的IP，
此时表示电脑到虚拟机是通的，再在]]></description><category></category></item><item><title><![CDATA[HarmonyOS_BearPi-HM Nano学习笔记之环境搭建]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/111088793</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/111088793</guid><author>weixin_41003780</author><pubDate>Sun, 13 Dec 2020 11:14:43 +0800</pubDate><description><![CDATA[前言：期待了已久的小熊派鸿蒙开发板终于出世了，12月11号准时抢到优惠券，果断下单，运费一起也就是29.9，实话说，很划算的，毕竟对自己的学习投资嘛，得舍得。
下面我把代码仓库、资料、视频课程地址贴出来，以便自己今后忘记了可以查阅，同时方便大家学习；
BearPi-HM Nano的主代码仓库是：
https://gitee.com/bearpi/bearpi-hm_nano
BearPi-HM Nano的文档资料在：
https://gitee.com/bearpi/bearpi-hm_nano/tree/]]></description><category></category></item><item><title><![CDATA[第二章 物联网平台在手 万物皆有]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/109239090</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/109239090</guid><author>weixin_41003780</author><pubDate>Fri, 23 Oct 2020 11:22:30 +0800</pubDate><description><![CDATA[一、端到端的开发流程
平台侧开发——》设备测开发——》应用测开发
二、产品物模型
物模型又称产品模型，用于描述设备具备的能力和特性。开发者通过定义Profile，在物联网平台构建一款设备的抽象模型，使平台理解该款设备支持的服务、属性、命令等信息，如颜色、开关等。
产品分为：产品信息、服务能力、维护能力
产品信息包括：厂商ID、厂商名称、设备类型、型号、协议类型；
服务能力包括：服务属性、服务命令（命令字段+响应字段）；
维护能力包括：固件升级、软件升级、配置更新；

...]]></description><category></category></item><item><title><![CDATA[自动驾驶之眼——V2X]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/109194978</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/109194978</guid><author>weixin_41003780</author><pubDate>Wed, 21 Oct 2020 09:50:29 +0800</pubDate><description><![CDATA[1、C-V2X基础解析
V2X ，即 Vehicle to Everything , 表示车与外界其他事物进行“沟通交流”的一种通信方式；“X”表示任何能与车辆进行“交流沟通”的对象，目前主要的类型有：
1）V2V - 车与车通信
2）V2P - 车与人通信
3）V2I - 车与道路基础设施通信
4）V2N - 车与云端网络通信
从全球来看，V2X车联网主要包括两种无线通信技术：
1）美国主推的以IEEE802.11为基础的802.11p通信技术
2）我国主推的以移动蜂窝通信技术为基础的C-V2X通信技术
]]></description><category></category></item><item><title><![CDATA[第一章了解物联网操作系统，与LiteOS相识]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/109194281</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/109194281</guid><author>weixin_41003780</author><pubDate>Wed, 21 Oct 2020 09:35:46 +0800</pubDate><description><![CDATA[1、RTOS（Real-time operating system,实时操作系统），主要是管理系统硬件和软件资源的系统软件，以方便开发者使用，操作系统管理的资源包括处理器、存储器、外设、甚至包括文件系统等等。
2、实时操作系统分为硬实时和软实时；HUAWEI LiteOS为软实时操作系统；
3、HUAWEI LiteOS基础内核是最精简的HUAWEILiteOS操作系统代码，包括任务管理、内存管理、时间管理、通信机制、中断管理、队列管理、事件管理、定时器等操作系统基础组件，可以单独运行。
4、Huawei ]]></description><category></category></item><item><title><![CDATA[物联网全栈工程师学习笔记之MQTT实验]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/108423746</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/108423746</guid><author>weixin_41003780</author><pubDate>Sat, 05 Sep 2020 20:17:04 +0800</pubDate><description><![CDATA[此处记录今天在实验过程中遇到的坑，主要为在Linux下的环境变量配置问题，具体如下:
1、在编译客户端MQTTClient_publish和subscribe时需要配置gcc的编译链接环境

配置共享库所在的目录，在解压的wxd@ubuntu:/home/work/IoT_Developer/mqtt/Eclipse-Paho-MQTT-C-1.3.2-Linux$ 目录下执行以下命令：export LD_LIBRARY_PATH=${PWD}/lib/,可以使用echo $LD_LIBRARY_PATH命]]></description><category></category></item><item><title><![CDATA[物联网全栈工程师学习笔记之HTTP学习]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/108326947</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/108326947</guid><author>weixin_41003780</author><pubDate>Mon, 31 Aug 2020 18:37:24 +0800</pubDate><description><![CDATA[一、HTTP概述
1.1、HTTP概述
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写，用于从万维网服务器
传输超文本到本地浏览器。
HTTP是基于TCP/IP通信协议来传递数据，包括HTML文件，图片文件，查询的信息内容等。
HTTP是一个基于应用层的面向对象的协议，由于其简捷、快速的方式，适用于分布式超媒体信息系统。
1.2、HTTP的发展
1.3、HTTP特点

HTTP是无连接的：无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求，并受到]]></description><category></category></item><item><title><![CDATA[物联网全栈工程师学习笔记之JSON学习二]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/108306496</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/108306496</guid><author>weixin_41003780</author><pubDate>Sun, 30 Aug 2020 15:12:46 +0800</pubDate><description><![CDATA[内容接上一节《物联网全栈工程师学习笔记之JSON学习一》
八、JSON的语法
JSON的语法衍生于JavaScript对象标记语法：

数据在名称/值对中
数据由逗号分隔
花括号容纳对象
方括号容纳数组

8.1JSON名称/值对
8.1.1 JSON数据的书写格式是：key/value(健/值)对。
名称/值对包括字段名称（在双引号中），后面写一个冒号，然后是值：
 - “name”:”Huawei_IoT” 
 - “deviceCode”:”123456789”

等价于这条JavaScript语句：]]></description><category></category></item><item><title><![CDATA[物联网全栈工程师学习笔记之JSON学习一]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/108306391</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/108306391</guid><author>weixin_41003780</author><pubDate>Sun, 30 Aug 2020 14:59:26 +0800</pubDate><description><![CDATA[一、概念
JSON是一种轻量级的数据交换格式。它采用完全独立于编程语言的文本格式来存储和表示数据。
简洁和清晰的层次结构使得JSON成为理想的数据交换语言。

序列化：将数据结构或对象转换成二进制串的过程。
反序列化：将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程。

二、作用：

序列化：在传递和保存对象时，保证对象的完整性和可传递性。对象转化为有序字节流，以便在网络上传输或者保存在本地文件中。
反序列化：根据字节流中保存的对象状态及描述信息，通过反序列化重建对象。

三、指标

通用性：序]]></description><category></category></item><item><title><![CDATA[学习记录之面向对象&&面向过程]]></title><link>https://blog.youkuaiyun.com/weixin_41003780/article/details/107490321</link><guid>https://blog.youkuaiyun.com/weixin_41003780/article/details/107490321</guid><author>weixin_41003780</author><pubDate>Tue, 21 Jul 2020 15:42:58 +0800</pubDate><description><![CDATA[申明：以下内容为转载，纯属为了学习记录，若有侵权，联系本人删除。
文章出处：公众号《嵌入式大杂烩》
链接：https://mp.weixin.qq.com/s/Z6Ye6go9sLubgkhT-v39RA
面向对象&amp;&amp;面向过程
1、什么是面向过程编程？
比较官方的解释就是：“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程，不同于面向对象的是谁在受影响。C语言就是一门面向过程的语言。
2、什么是面向对象编程？
比较官方的]]></description><category></category></item></channel></rss>