关闭

IOT物联网小镇

所属频道 公众号精选
  • 物联网设备OTA软件升级之:完全升级和增量升级

    各位看官好,上一篇文章我们聊了一下关于OTA升级过程中,新的软件包是如何从开发者的电脑上,安全的下载到嵌入式设备中的。这个流程似乎很简单,不就是下载一个文件而已嘛,怎么还值得写成一篇文章呢?其实这不仅仅是下载文件这么简单,这其中涉及到如何对众多的终端设备进行批量升级的策略问题。如...

  • ESP32 开发之:亚马逊 AWS 平台 OTA 升级过程完全梳理

    在最近的两篇文章中,我们从概念和流程上梳理了:一个终端设备如何把一个固件,安全无误的从服务器上,下载到本地。文章链接在此:物联网设备OTA软件升级之:升级包下载过程之旅物联网设备OTA软件升级之:完全升级和增量升级这篇文章就继续往下深入,以一个实际的ESP32项目,来完整的梳理一...

    公众号精选
    2021-10-18
  • 这 7 个 Linux 命令,你是怎么来使用的?

    使用Linux系统的开发者,很多人都有自己喜欢的系统命令,下面这个几个命令令是我平常用的比较多的,分享一下。我不会教科书般的罗列每个指令的详细用法,只是把日常开发过程中的一些场景下,经常使用的命令常见用法进行演示。希望对您有小小的帮助~~也非常欢迎各位大侠,在留言区分享您的私房命...

    公众号精选
    2021-10-18
  • 从程序员的角度,来拆解物联网系统中的开发工作

    物联网系统设备端的开发不需要网关的设备需要网关的设备WiFi类设备物联网平台开发业务应用开发物联网的概念已经被炒了好多年了,奇怪的是:市场中对这个概念的反应总是不愠不火。随着5G的迅速普及,不知道是否能够再次把这个领域带火起来。但是不管怎样,很多大学已经把物联网这个专业给坐实了。...

  • Linux 从头学 01:CPU 是如何执行一条指令的?

    【Linux从头学】是什么古老的Intel8086处理器主存储器是什么?寄存器是什么?三个总线CPU如何对内存进行寻址?我们是如何控制CPU的?CPU执行指令流程【Linux从头学】是什么这两年多以来,我的本职工作重心一直是在x86Linux系统这一块,从驱动到中间层,再到应用层...

  • Linux从头学02:x86中内存【段寻址】方式的来龙去脉

    什么是代码段?什么是数据段?数据的类型和长度寻址范围栈实模式和保护模式Linux中的分段策略饭是一口一口的吃,计算机也是一步一步的发展,例如下面这张英特尔公司的CPU型号历史:为了利用性能越来越强悍的计算机,操作系统的也是在逐步变得膨胀和复杂。为了从最底层来学习操作系统的一些基本...

  • 使用 cmake 来搭建跨平台的应用程序框架:C 版本

    一、前言二、示例代码说明三、Linux系统下操作四、Windows系统下操作五、总结一、前言在上一篇文章中(使用cmake来搭建跨平台的应用程序框架:C语言版本),我们以源代码的形式,演示了利用利用cmake这个构建工具,来编译跨平台的动态库、静态库和应用程序。这篇文章描述的是同...

  • C语言边角料:结构体中指针类型的成员变量,它的类型重要吗?

    一、前言二、问题描述三、把类型改为void指针类型四、总结一、前言昨天在编译代码的时候,之前一直OK的一个地方,却突然出现了好几个Warning!本着强迫症要消灭一切警告的做法,最终定位到:是结构体内部,指向结构体类型的指针成员变量导致的问题。这个问题,也许永远不会碰到,之所以被...

    公众号精选
    2021-10-15
  • 向高手学习:glib如何来封装跨平台的线程库

    一、前言二、glib简介三、线程库的设计四、总结一、前言这篇文章,按照下面这2张图,来描述glib在Linux和Windows平台上,是如何来进行线程库的设计的。Linux平台:Windows平台:最近写了几篇关于跨平台的应用程序设计思路,有些小伙伴在后台留言询问关于一些通用的跨...

  • Linux从头学03:如何告诉 CPU,代码段、数据段、栈段在内存中什么位置?

    几个重要的段寄存器Linux2.6中的线性地址区间一个“完整”的8086汇编程序前两篇文章,我们一起学习了8086处理器中关于CPU、内存的基本使用方式,重点对段寄存器和内存的寻址方式进行了介绍。可能有些小伙伴会对此不屑:现在都是多核的现代处理器,操作系统已经变得非常的强大,为何...

  • WSL:在 Windows 系统中开发 Linux 程序的又一神器

    什么是WSL?什么是WSL2?激活WSL服务安装Ubuntu-18.04操作系统通过ssh远程登录编译Hello,World!作为一名嵌入式软件开发工程师,在Linux系统下写代码、编译、调试是避免不了的事情。但是很少有同学会直接拿一台Linux真机来作为工作平台,除非是那种利用...

  • Linux从头学04:所有编程语言中的栈操作,底层原理都在这里

    示例代码说明执行主程序初始状态执行代码前5句准备调用子程序调用子程序子程序寄存器入栈保护计算字符串长度返回结果寄存器出栈返回指令ret在任何一门编译型语言中,栈操作都是非常重要的。利用栈的后进先出特性,可以很方便的解决一些棘手的问题,以至于CPU单独分配了push和pop这两个命...

    公众号精选
    2021-10-15
  • Linux从头学05-系统启动过程中的几个神秘地址,你知道是什么意思吗?

    0xFFFF:0x00000xF000:0xE05B0x0000:0x7C00在第一篇文章中,我们就提到,现代操作系统是从最古老的8086系统一步一步发展而来的。处理器厂商为了向后兼容,很多底层相关的原理都是一样的(如果不兼容,就会丢弃市场份额)。特别是从系统上电之后,一直到操作...

  • Linux从头学06:16张结构图,彻底理解【代码重定位】的底层原理

    程序的结构bootloader把程序从硬盘读取到内存代码重定位程序入口点重定位段表重定位跳转到程序的入口地址操作系统程序的执行在上一篇文章中Linux从头学05-系统启动过程中的几个神秘地址,你知道是什么意思吗?,我们以几个重要的内存地址为线索,介绍了x86系统在上电开机之后:C...

    公众号精选
    2021-10-15
  • Linux从头学07:【中断】那么重要,它的本质到底是什么?

    作 者:道哥,10年的嵌入式开发老兵。专注于:C/C、Linux操作系统、应用程序设计、物联网、单片机和嵌入式开发等领域。公众号回复【书籍】,获取Linux、嵌入式领域经典书籍。转 载:欢迎转载文章,转载需注明出处。中断向量与中断描述符中断的分类内部中断外部中断中断号中断向量和中...

    公众号精选
    2021-10-15