- 博客(18)
- 收藏
- 关注
原创 AliOS-Things KV分析
AliOS-Things KV分析1 简介KV组件写平衡特性的实现考量由于小型物联网嵌入式设备的硬件资源较为匮乏,对code size以及RAM的占用size比较敏感。所以基于资源消耗的考量,写平衡特性在KV组件中的实现遵循make it simple原则,主要依赖以下两个策略来实现:异地更新策略:Key-Value键值对采用顺序写入、异地更新的方式,即不再在原存储位置擦除重写,而是在其...
2018-11-29 15:15:40 1866
转载 Alios-Things 点亮led
Alios Things 点亮led1 实现步骤点个灯是为了上手,了解一些最基础的东西,比如程序框架,外设的一般操作方式。 Alios即然是一个OS,程序框架必然和裸机操作不同,先看个简单的hello-world,代码如下#include <aos/aos.h>static void app_delayed_action(void *arg){ LOG("hell...
2018-11-25 20:11:41 854
原创 AliOS-Things新增一个模块
AliOS-Things新增一个模块文章目录AliOS-Things新增一个模块1 目标一1.1 选择新模块放置位置1.2 增加新模块源文件1.3 增加新模块的对外头文件1.4 增加新模块的.mk文件1.5 修改 nano 源文件调用新接口1.6 修改 nano的 .mk 文件依赖新模块1.7 运行1.8 新增一个模块总结2 目标二2.1 选择新模块放置位置2.2 代码实现2.3 输出结果3 目...
2018-11-23 21:25:11 2074
转载 AliOS Things的启动过程分析(二)
AliOS Things的启动过程分析(二)在AliOS Things的启动过程分析(一)中分析了developerkit从系统上电到调用main函数所经历的一些步骤,接下来详细分析一下main函数的一些工作,主要是内核的相关初始化工作。main函数所处的位置位于 platform\mcu\stm32l4xx_cube\aos\aos.c文件中。下面是main函数的代...
2018-11-23 14:34:21 574
转载 AliOS Things的启动过程分析(一)
AliOS Things的启动过程分析(一)在本篇文章中,我们以developerkit开发板为例,介绍AliOS Things的启动过程。AliOS Things支持多种工具链进行编译链接的方式生成可执行文件,在这里主要是以GCC的方式(更加通用)来进行介绍。建议可以先阅读AliOS Things的编译体系,对整个的编译流程有个简单的了解。链接一个可执行文件生成首先需要确定宿主平台(wind...
2018-11-23 14:31:34 3244
转载 AliOS Things 技术架构
AliOS Things 技术架构AliOS Things 架构可以适用于分层架构和组件化架构。一般来说,从底部到顶部,AliOS Things 包括:板级支持包(BSP):主要是由SoC供应商开发和维护硬件抽象层(HAL):比如WiFi 和 UART内核: 包括Rhino实时操作系统内核、Yloop、VFS、KV存储协议栈: 包括TCP/IP协议栈(LwIP),uMesh网络协议栈...
2018-11-23 14:26:04 4294
转载 AliOS-Things构建要素
构建要素一般而言,一个工程的构建包含如下几个要素:组件化思想组件化思想是指是功能模块可以随意地剪裁,拼接。实际上此思想的实现就主要依附于构建体系,一个组件存在的标志就是它有一个对应的 .mk 文件。由于采用组件化管理思想,为了让每个组件相互隔离,独立配置,每一个组件的目录下放置一个.mk来存放每个组件各异的操作配置。并且组件间通过依赖来指定关联。而构建系统所有组件统一的操作机制放在bui...
2018-11-23 13:58:39 546
转载 Makefile条件判断
Makefile条件判断使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支。条件表达式可以是比较变量的值,或是比较变量和常量的值。1 示例下面的例子,判断$(CC)变量是否“gcc”,如果是的话,则使用GNU函数编译目标。libs_for_gcc = -lgnu normal_libs = foo: $(o...
2018-11-23 13:35:59 2728
原创 Ubuntu pytho2与python3版本切换
Ubuntu pytho2与python3版本切换1 切换Python3为默认版本sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150...
2018-11-14 14:57:15 417
转载 数字签名是什么?
数字签名是什么?转载:数字签名是什么?原文网址:http://www.youdzone.com/signature.html鲍勃有两把钥匙,一把是公钥,另一把是私钥。鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。鲍勃收信后,用私钥解密,就看到了信件内容...
2018-11-10 18:41:08 214
转载 彻底理解cookie,session,token
彻底理解cookie,session,token1 发展史1、很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。这段时间很嗨皮2、但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站...
2018-11-10 18:34:58 146
原创 Django request对象
Django request对象1 简介服务器接收到http协议的请求后,会根据报文创建HttpRequest对象,这个对象不需要我们创建,直接使用服务器构造好的对象就可以。视图的第一个参数必须是HttpRequest对象,在django.http模块中定义了HttpRequest对象的API。2 request对象的属性**request.scheme :**代表请求的方案,http或...
2018-11-10 16:03:04 5796
转载 Django admin 管理工具
Django admin 管理工具1 admin组件的使用Django 提供了基于 web 的管理工具。Django 自动管理工具是 django.contrib 的一部分。你可以在项目的 settings.py 中的 INSTALLED_APPS 看到它:# Application definitionINSTALLED_APPS = [ 'django.contrib.ad...
2018-11-07 11:17:21 5779
转载 Cookie和Session
Cookie和Sessionhttp 协议是无状态的,如果需要保持用户名这种登录状态等情况,需要对用户的状态进行保存,这时就需要用到cookie和session了。1 cookiecookie是由服务器生成,存储在浏览器端的一小段文本信息。 常用于记住用户名特点:以键值对方式进行存储。通过浏览器访问一个网站时,会将浏览器存储的跟网站相关的所有cookie信息发送给该网站的服务器...
2018-11-07 01:19:36 318
转载 Django的认证系统
转自Django的认证系统Django自带的用户认证我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能,这还真是个麻烦的事情呢。Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点。它内置了强大的用户认证系统–auth,它默认使用 auth_user 表来存储用户数据。1 auth模块fr...
2018-11-07 01:10:15 258
原创 Django admin修改用户密码
Django admin修改用户密码如果忘记了django的admin的密码,而数据库中的auth_user中关于密码的字段是经过加密的,这个时候你就可以通过django的命令来直接修改admin的密码1 方法一这个方法是用过shell命令方式对密码进行修改的,使用如下的命令:python manage.py shell from django.cont...
2018-11-02 19:21:04 8721
原创 Django 中间件
Django 中间件1 简介Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。 中间件的执行过程如下图所示:2 中间件函数Django在中间件中预置了五个方法,这五个方法的区别在于不同的阶段执行,对输入或输出进行干预,方法如下:初始化:无需任何参数,服务器响应第一个请求的时候调用一次,用于确定是否启用当前中间件...
2018-11-02 19:13:45 313
原创 Django 汉化
Django 汉化1 简介Django 支持国际化,多语言。Django的国际化是默认开启的,如果您不需要国际化支持,那么您可以在您的设置文件中设置 USE_I18N = False,那么Django会进行一些优化,不加载国际化支持机制。NOTE: 18表示Internationalization这个单词首字母I和结尾字母N之间的字母有18个。I18N就是Internationalizati...
2018-11-02 16:13:41 894
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人