随笔分类 -  嵌入式

摘要:1、全局区(.bss段和.data段)根据实际情况修改 2、栈顶地址根据实际情况修改 /* Flash OS Routines (Automagically Generated) * Copyright (c) 2009-2015 ARM Limited */ #include "flash_blo 阅读全文
posted @ 2025-01-16 16:07 流水江湖 阅读(25) 评论(0) 推荐(0) 编辑
摘要:STM32F103的内存分布简化视图 在一个STM32程序代码中,从内存高地址到内存低地址,依次分布着栈区、堆区、全局区(静态区)、常量去、代码区,其中全局区中高地址分布着.bss段,低地址分布着.data段。总的分布如下图所示 内存高地址 栈区 堆区 .bss段 .data段 常量区 内存低地址 阅读全文
posted @ 2025-01-16 15:13 流水江湖 阅读(45) 评论(0) 推荐(0) 编辑
摘要:1、ws2812b是一款集控制电路与发光电路于一体的智能外控LED光源,采用单线归0码协议,每个像素点的三基色颜色可实现256级亮度显示。速率能达到1024pixel × 30fps / s,故被广泛用于各种需要大量使用RGB灯的场合。 2、不同厂商生产的ws2812存在不同的时序要求,下图是一款最 阅读全文
posted @ 2024-04-09 17:17 流水江湖 阅读(1194) 评论(0) 推荐(0) 编辑
摘要:介绍: 1、MaixII-Dock 主控芯片是全志 V831 , 2、使用 Linux 系统(Tina Linux ,移植自 OpenWrt )。 3、集成MaixPy(基于Python SDK)运行环境。 买的时候附带一张SD卡,已经预装好系统,开机直接进入系统。可以选择USB-OTG接口连接(M 阅读全文
posted @ 2023-02-08 00:15 流水江湖 阅读(440) 评论(0) 推荐(0) 编辑
摘要:槽型光电开关应该避免以下使用场所: 1、光电开关应避免用于灰尘较多的场所; 2、腐蚀性气体较多的场所不适合使用光电开关; 3、水、油、化学品有可能直接飞溅的场所; 4、户外或太阳光等有强光直射而无遮光措施的场所。 5、环境温度变化超出产品规定范围的场所; 6、振动、冲击大,而未采取避震措施的场所。 阅读全文
posted @ 2023-01-12 22:34 流水江湖 阅读(248) 评论(0) 推荐(0) 编辑
摘要:光电开关的工作原理: 1、由振荡回路产生的调制脉冲经反射电路后,然后用数字积分光电开关或RC积分方式排除干扰,最后经延时(或不延时)触发驱动器输出光电开关控制信号。 2、利用光学元件,在传播媒介中间使光束发生变化;利用光束来反射物体;使光束发射经过长距离后瞬间返回。光电开关是由发射器、接收器和检测电 阅读全文
posted @ 2023-01-12 22:29 流水江湖 阅读(725) 评论(0) 推荐(0) 编辑
摘要:近些年来,可以看出我国步进电机驱动器的技术在不断的进步。加上国家相关政策的支持也让国内各种优秀的技术涌现。不难发现每一种技术的革新都会带来几个以高端技术去引导市场的革命。目前市面上较为常见的驱动方法包括恒电压驱动、高低压驱动、自激式恒电流斩波驱动、电流比较斩波驱动、潜进式驱动等五种。下面申力电机小编 阅读全文
posted @ 2022-12-28 21:11 流水江湖 阅读(741) 评论(0) 推荐(0) 编辑
摘要:42 byte address = Convert.ToByte( tbxAddress.Text.Trim(), 16);//地址码 43 byte cmd = Convert.ToByte(tbxCmd.Text.Trim(),16);//命令帧 44 byte regAddr = Conver 阅读全文
posted @ 2022-11-08 23:56 流水江湖 阅读(72) 评论(0) 推荐(0) 编辑
摘要:嵌入式软件,如bootloader,空间受限,但有操作(编程)内部flash的需求,遇到的主要问题就是: 内部的RAM不够大,flash 编程需要多次执行 bootloader需要更新自己,但程序执行的位置需要擦除重新编程 部分MCU,程序在flash中执行,不支持边执行边擦写 这就需要引入程序在R 阅读全文
posted @ 2022-09-15 16:55 流水江湖 阅读(486) 评论(0) 推荐(0) 编辑
摘要:上面的代码是COPY自KEIL下例程!和你发的,IRQ中断管理方式不同!KEIL 实现中是将IVR中的内部当成当前IRQ的中断入口地址来实现的!你发的这个是将IVR内容当成 LDR PC,[PC,#offset]这条指来实现!/* IVR = high half of load PC instruc 阅读全文
posted @ 2022-09-15 16:21 流水江湖 阅读(85) 评论(0) 推荐(0) 编辑
摘要:.MAP UART_OnOffConfig 0x20000f40 ARM Code 40 uart.o(.text)UART_ByteSend 0x20000f68 ARM Code 72 uart.o(.text)UART_9BitByteSend 0x20000fb0 ARM Code 72 u 阅读全文
posted @ 2022-09-15 11:04 流水江湖 阅读(33) 评论(0) 推荐(0) 编辑
摘要:map文件里面内容大致分为五大类(按照map文件分类的顺序): 1.Section Cross References:模块、段(入口)交叉引用; 2.Removing Unused input sections from the image:移除未使用的模块; 3.Image Symbol Tabl 阅读全文
posted @ 2022-09-14 09:19 流水江湖 阅读(236) 评论(0) 推荐(1) 编辑
摘要:1、ARM中的异常与中断总共有7种 按响应优先级从高到低 按中断向量表顺序 复位 复位 数据中止 未定义指令中断 FIQ SWI IRQ 预取指令中止 预取指令中止 数据中止异常 未定义指令、SWI IRQ FIQ ARM要求中断向量表必须放置在从0地址开始,连续8×4字节的空间内(ARM720T和 阅读全文
posted @ 2022-09-11 07:21 流水江湖 阅读(1039) 评论(0) 推荐(0) 编辑
摘要:1、在ARM开发中,异常向量表(或者称为中断向量表)处在一个关键的位置,因为它控制了ARM芯片复位、异常、IIRQ中断/FIQ中断 等 时的跳转地址,也即是调到哪里去执行启动代码。一般来说,异常向量表的形式如下 Vector: ; All default exception handlers (ex 阅读全文
posted @ 2022-09-11 07:05 流水江湖 阅读(409) 评论(0) 推荐(0) 编辑
摘要:;******************************************************************************* ;* Macro Name : EIC_INIT ;* Description : This macro Initialize the E 阅读全文
posted @ 2022-09-09 20:52 流水江湖 阅读(124) 评论(0) 推荐(0) 编辑
摘要:ARM汇编程序用“;”号进行注释。 一、汇编语言程序格式 一个完整的ARM汇编由两部分组成:声明,实际代码段两部分组成。 1、声明 在一个程序之前先要进行声明: 1)声明代码段: 用AREA指令定义一个段,说明所定义段的相关属性。(说明段的名字,段的属性) 2) 声明ARM指令: 用CODE32或C 阅读全文
posted @ 2022-09-09 20:03 流水江湖 阅读(1028) 评论(0) 推荐(0) 编辑
摘要:arm7tdmi体系的中断向量的地址是动态分配在中断向量控制器的寄存器中,例如,意法半导体(st)公司生产的str71x系列arm微控制器, 其增强型的中断控制器(eic)的eic_ivr寄存器(中断向量寄存器)、eic_sirn寄存器(源中断寄存器)都是用于存储相关中断通道的中断服务程序在存储器中 阅读全文
posted @ 2022-09-09 19:31 流水江湖 阅读(205) 评论(0) 推荐(0) 编辑
摘要:ARM7内核寄存器 ARM7TDMI-S内核共37个寄存器。 R0—R7,通用寄存器,共8个。 R8—R12,除快中断有自己寄存器(Rx_fiq),其他模式共用,共10个。 R13,栈指针寄存器。用户、系统共用外,其他模式有独立寄存器,共6个。 R14,连接寄存器。当程序跳转(BL)、异常模式时,用 阅读全文
posted @ 2022-09-09 18:49 流水江湖 阅读(486) 评论(0) 推荐(0) 编辑
摘要:启动时从绝对地址0x0800 0000开始执行复位中断程序,即固定了复位后的起始地址,但中断向量表的位置是可变的。 Cortex-M3内核规定中断向量表中第一个32位数据内容为栈顶地址,第二个32位数据内容则是复位中断向量[复位也是中断向量的一种,在M3内核中,复位中断是最高优先级]的入口地址。 这 阅读全文
posted @ 2022-09-08 22:24 流水江湖 阅读(228) 评论(0) 推荐(0) 编辑
摘要:栈底指的是堆栈指针sp所指的起始位置begin,当有数据进站后,sp+1;当sp指向的地址 begin+length;即栈满,此时的sp指向的即为栈顶。通俗讲,栈底就是第一个进栈的数据,栈顶就是最后一个进栈的数据。 内存分配: 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stac 阅读全文
posted @ 2022-09-08 22:12 流水江湖 阅读(1970) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示