FreeRTOS基本概念

freeRTOS任务函数的基本原型:void ATaskFunction( void *pvParameters );FreeRTOS的任务是不能返回的,除非在返回之前将任务销毁,销毁任务一般通过vTaskDelete实现,另外每个任务都有自己的栈空间和自己的自动变量(函数本身定义的变量)。一般的任务定义如下:void ATaskFunctrion(void *pvParameters){ ...

继续阅读 »

SD卡模式切换命令CMD6

CMD6是SD卡速度模式切换的一个重要命令,它定义了4种不同的功能组:访问模式:SD总线接口速度模式的选择;命令系统:通过一套莫共有的命令来扩展和控制特定的功能;驱动强度:在UHS-I模式下等选择合适的输出驱动强度,和主机环境相关;4.电流/功率限制:UHS-I卡在UHS-I模式大电海底捞针选择,和主机环境相关;CMD6命令仅在V1.1之后的版本支持,可以通过SCR或CSD来查看当前卡是否支...

继续阅读 »

为linux kernel调试增加printf

在Linux内核调试的时候,最开始因为设备驱动没有初始化,串口也不能正常的访问,而内核好像也不能通过一般的Jlink调试,这个具体原因还不清楚,只是现象上看断点停掉之后就不会继续往下运行(好像和之前的一个bug有点类似呀),先不管这些,总之我们需要有一个可以观察内核运行情况的东西,嵌入式中最为常用的当然就是printf了,虽然耗时,但是简单易用,下面就给出一个即使设备驱动没有初始化也能开始打...

继续阅读 »

Django用户表的扩展

翻译原文Django作为一个大而全的框架,本身已经有一个非常不错的鉴权系统,对大多数的应用可以做到开箱即用,在很大程度上提高了系统的开发效率。它本身比较安全,可以覆盖多数的应用场景。不过有时候我们需要针对一些特定的应用做一些特殊的调整。一般而言,我们都需要存储一些和用户相关的信息,比如用户的生日,位置等等的信息。本篇文章就主要来看一下如何对Django自带的用户模型实现一些简单的扩展,我们会...

继续阅读 »

Windows下GIT的凭据问题

最近github被微软收购之后,有一大波代码会迁移到gitlab上,我虽然一直用的国内的码云托管代码,不过最近发现在公司码云的访问速度奇慢无比,忍受不了这样的龟速,我也赶上这波潮流,一起向gitlab迁移~迁移到是没有什么问题,不过在git push的时候,因为公司网络限制了22端口,所以只能使用HTTPS的方式push,在windows push的时候一不小心密码写错了,再次推送的时候就一...

继续阅读 »