嵌入式软件设计之状态机编程开发方案
2024-01-09前言 功能业务代码写多了,回看代码会发现用if-else if-else用的越来越多,因为有很多场景需要区分,不同场景下的功能不一样,因此需要通过if做判断,场景一旦多了起来起来,用if-else if-else就会越来越多。 这里的if-else if-else通常是用来区分不同场景下的功能实现,和上篇提到的表驱动编程还不太一样。 为了避免这种情况,本编介绍一种开发方法--状态机编程。 为什么需要状态机编程?相信很多人在实现if判断的时候,偶尔会出现不小心漏掉或者写错一些触发条件,导致功能出
嵌入式软件中如何利用内部flash存储参数呢?
2024-01-0901 前言 嵌入式软件中经常要存储一些非易失参数,例如用户设置、校准参数、设备运行参数等,通常情况下我们都会选择存储在EEPROM或者SPI-FLASH中。在削减成本考量的情况下,我们可以把存储器省下来,参数存储在内部flash中,毕竟就算每片减少一块钱,量大后还是非常可观的。 02 选择参数存储位置 stm32的flash地址起始于0x08000000,结束地址是0x08000000加上芯片实际的flash大小,不同的芯片flash大小不同。我们可以在KEIL项目工程的Target也看到RO
嵌入式Linux学习-BIOS和Boot loader详解笔记
2024-01-091.BIOS****和引导装入程序 为桌面计算机拥电后,一种叫作BIOS的软件系统会立即接管对系统处理器的控制. [BIOS是Basic Input/Output Software (基本输入输出软件)的缩写,但直际上. BIOS在计算机系统中发挥的作用已经远远超过了最初设计该软件时的目标,而且越来越复杂。 通常. BIOS系统都是保存在闪存(Flash)里面的。 BIOS是一组复杂的系统配置软件例程,它记录了计算机硬件体系结构的底层细节信息。 在系统加电时候,BIOS会立即接管对系统处理器的
嵌入式软件不需要架构吗?为什么没有嵌入式软件架构师?
2024-01-09我从事嵌入式软件开发有6、7个年头,bsp,驱动,应用软件,android hall,framework等都有涉猎。平时除了关注嵌入式行业的发展,也多少对Web,后台服务端,分布式等方向的技术有一些关注。 近期有萌生换个行业方向的想法,想做做后台服务器相关的开发,由于之前工作中并没有这方面的实际需求,只是自己平时关注,了解了些知识,比如:NIO,epoll,ngnix,zeromq,libevent,libuv,高并发,分布式,redis,python,tornado,django,涉猎比较杂
嵌入式软件中两种超时程序设计方案
2024-01-091、背景 在嵌入式软件程序设计过程中中,经常会遇到超时(或定时)的处理情况,基本处理思想是在时间到的时候进行相关程序处理,下面介绍两种超时(或定时)的程序设计方案。 2、方案一 基本思想:定时器中断使用一个变量TICK,中断间隔时间t,在准备定时开始时读取此时刻的TICK,在程序运行过程中实时读取当前的TICK信息并计算即可。 因此在时间计算时只需计算开始STARTTICK和结束ENDTICK即可完成时间计算。时间计算T=(ENDTICK-STARTTICK)*t;使用一个定时器中断每t时间处理
嵌入式系统中,内存不够用了怎么办?
2024-01-09嵌入式系统中,内存不够用了怎么办?随着技术的不断发展,微型化、便携化的智能化设备正逐渐成为人们生活中不可或缺的一部分。然而,在这些设备中,嵌入式系统的内存空间通常都非常有限,并且需要同时支持多种功能。如果内存不够用,那么系统就会变得非常缓慢,部分功能也可能会因缺乏足够的内存而无法运行。因此,当内存不足时,我们就需要采取一些措施来解决这个问题。1. 内存管理在嵌入式系统中,内存通常需要由程序员手动进行管理。程序员需要确定存储数据的位置、每种数据类型需要占用的字节数等。在编写程序时,应该尽可能利用
嵌入式开发,如何防止设备被抄袭呢?
2024-01-09嵌入式开发,如何防止设备被抄袭呢?嵌入式开发是指将微型电脑、微处理器、传感器等硬件设备集成到系统之中,通过编程实现智能化的嵌入式系统。这一领域的发展迅速,越来越多的公司涉足其中,但同时也面临着一系列问题,其中一个重要问题就是如何防止设备被抄袭。设备抄袭是指他人利用技术手段或非法手段复制他人的产品,然后大批生产、销售,挤占原产品的市场份额,从而对原产品生产厂商造成巨大的经济损失。因此,防止设备抄袭对于一个嵌入式开发公司来说是非常重要的。以下是一些防止设备被抄袭的方法:1. 设计专利嵌入式开发公司
如何用C语言开发DSP嵌入式系统?
2024-01-09如何用C语言开发DSP嵌入式系统?DSP嵌入式系统开发是一个非常重要的领域,它涉及到设备的控制、数据的处理、系统的优化等多种方面,因此,掌握这方面的技术非常重要。在本文中,将详细探讨如何用C语言开发DSP嵌入式系统,主要包括以下几个方面:1. DSP基础知识2. 嵌入式系统及其开发3. C语言4. DSP与C语言的结合5. DSP嵌入式系统的应用1. DSP基础知识DSP(Digital Signal Processor,数字信号处理器)是一种专门用于数字信号处理的微处理器,主要用于实时信号处
有无操作系统的嵌入式Linux驱动设备有何区别?
2024-01-09有无操作系统的嵌入式Linux驱动设备有何区别?嵌入式系统是指集成电子设备上的计算机系统,通常用于控制、监测、操作或处理某些物理或机械过程。在嵌入式系统中,涉及到设备驱动程序的开发,这些程序的作用是将系统的软件与硬件连接起来,使它们能够相互交互。嵌入式系统常使用Linux系统作为开发平台,它具有开源、可移植、灵活的特点。而在嵌入式Linux系统中,又分为有操作系统和无操作系统的嵌入式Linux驱动设备。那么这两种设备有何区别呢?下面将详细阐述。一、概念有操作系统的嵌入式Linux驱动设备指嵌入