嵌入式威廉希尔官方网站
权威的嵌入式系统、嵌入式威廉希尔官方网站 和嵌入式开发频道,涉及嵌入式设计应用、单片机与SoC、编程语言及工具、嵌入式系统软硬件调试及优化、嵌入式操作系统等资讯和嵌入式威廉希尔官方网站 方案,包括嵌入式接口/总线/驱动、嵌入式软件/开发板、实时应用开发、嵌入式联网威廉希尔官方网站 、ARM等领域,是嵌入式工程师最好的学习平台。systemverilog:logic比reg更有优势?
在systemverilog协议中,logic定义四态值,即向量(vector)的每个位(bit)可以是逻辑0, 1, Z或X,与verilog协议中的reg很接近。但是logic有个很明显的优势,不允许多驱动。...
2023-09-28 477
C语言的基础知识
C语言是一种高级编程语言,广泛应用于操作系统、嵌入式系统、游戏开发等领域。它由贝尔实验室的Dennis Ritchie在1972年开发而成,是Unix系统中最常用的编程语言之一。...
2023-09-28 121
Linux内核入口stext段分析
stext 段 从上面的ENTRY(stext)可以知道,一开始是运行stext段,这个段内的代码是 start_kernel 函数前汇编环境的初始化。 linux4.14/arch/arm64/kernel/head.S preserve_boot_args 保存 bootloader 传递过来的参数。...
2023-09-28 198
Linux内核的起始地址查看
我们先看一下入口地址的确定,同一文件。 SECTIONS{ /* * XXX: The linker does not define how output sections are * assigned to input sections when there are multiple statements * matching the same input section name. There is no docume...
2023-09-28 171
驱动动模块之间如何更改模块挂载顺序
如果驱动模块之间有依赖,需要更改模块挂载顺序,有三种方式: 1、增加一个优先级,比如 8。或者把自己的驱动模块声明成其他优先级,也就是不用 module_init 去声明,可以用 fs_initcall 去声明...
2023-09-28 167
Linux驱动是如何挂载的
start_kernel 函数最后调用的是 rest_init 函数,其实 rest_init 函数不光产生了最重要的 kernel_init (PID=1)和 kthreadd (PID=2)内核进程。 kernel_init 最后演变为用户空间 init 进程(PID=1)。 rest_init 函数...
2023-09-28 159
Linux终端初始化和tty驱动框架
initcall机制 注意上述流程,我们来理解一下 initcall 机制: 普通我们写一个程序,想要它被调用,需要在主流程中调用这个函数,才算被调用。 那么这种方式如果放在 Linux 中,是难以想象的,...
2023-09-28 92
搭建D1s RT-Smart开发环境踩坑笔记
作为一个linux新手想要尝试RT-Smart的开发,但是网上教程前辈们的linux环境都是已经相对完备的,因此像我这样新手在搭建环境时常常缺这缺那的导致报错,经过一段时间的踩坑终于搞定了,因此...
2023-09-28 106
python中eval的用法和作用
`eval()`函数的作用是将字符串作为Python表达式进行求值。它可以执行包括算术运算、逻辑运算、函数调用以及定义在当前命名空间中的变量等在内的各种表达式。使用`eval()`可以动态地执行...
2023-09-28 74
IBIS模型入门介绍
IBIS(Input/Output Buffer Information Specification)是一个用于仿真的描述性文件,它从元件的行为出发描述了器件输入输出端口的电气特性,不会涉及具体电路结构以及芯片的工艺参数等信息,半导体制造...
2023-09-28 110
Linux启动流程中console_init分析
console_init 分析 Linux 启动函数 start_kernel 会调用 console_init 函数。 linux4.14/kernel/printk/printk.c linux4.14/drivers/tty/n_tty.c 我们可以看到,console_init 主要做了两件事情: 1、n_tty_init 主要调用 tty_register_...
2023-09-28 90
Linux内存方面的初始化和常见的内存分配方式
在 start_kernel 内核初始化函数中,一共调用 86 个函数去初始化,其中有一个 mm_init 函数,用以初始化内存。 start_kernel | --- >mm_init | --- >mem_init linux4.14/init/main.c 在 mem_init 函数中会初始化伙伴系统...
2023-09-28 90
从Linux平台来研究GPIO软件框架
嵌入式 Linux 平台 先总结一句:不管是单片机还是高端 ARM 平台,最底层都是寄存器,硬件之上就是寄存器,任何封装形式到最底层就是操作寄存器。 对于上了 Linux 系统的平台,我们有其他方法...
2023-09-28 87
为什么要引入S参数?S参数-传输线测试分析利器
S参数的全称为Scattering 参数,即散射参数。微波系统主要研究信号和能量两大问题:信号问题主要是研究幅频和相频特性;...
2023-09-28 342
tcpdump常用的选项参数详细总结
常用选项通过上述的实战案例,相信大家已经掌握的 tcpdump 基本用法,在这里来详细总结一下常用的选项参数。 (一)基础选项 -i:指定接口 -D:列出可用于抓包的接口 -s:指定数据包抓取的...
2023-09-28 89
如何在RT-Thread Studio完成对RA2L1板的环境搭建以及gpio的输入输出检测?
有幸参加RT-Thread的活动,体验RT-Thread Studio 和瑞萨 CPK-RA2L1评估板。本篇文章主要讲解如何在RT-Thread Studio 完成对RA2L1评估板的环境搭建以及gpio的输入输出检测,通过LED显示。...
2023-09-28 454
tcpdump常见的高级用法
tcpdump 强大的功能和灵活的策略,主要体现在过滤器(BPF)强大的表达式组合能力。 本节主要分享一些常见的所谓高级用法,希望读者能够举一反三,根据自己实际需求,来灵活使用它。 1. 抓...
2023-09-28 86
Linux网络分析tcpdump的基本用法
我们先通过几个简单的示例来介绍 tcpdump 基本用法。 1. 不加任何参数,默认情况下将抓取第一个非 lo 网卡上所有的数据包 $ tcpdump 2. 抓取 eth0 网卡上的所有数据包 $ tcpdump -i eth0 3. 抓包时...
2023-09-28 84
使用mosquitto搭建mqtt broker
Eclipse Mosquitto是一个开源(EPL/EDL许可)消息代理(broker),它实现了MQTT协议版本5.0、3.1.1和3.1。Mosquito重量轻,适用于从低功耗单板计算机到完整服务器的所有设备。...
2023-09-28 239
什么是传输线?传输线电路模型简析
传输线是用以从一处至另一处传输高频或微波能量的装置,可定义为传输电流的有信号回流的信号线,由两条一定长度导线组成,一条是信号路径,另一条是参考路径/回流路径。...
2023-09-28 315
Linux网络分析tcpdump工作原理和应用
在日常工作中遇到的很多网络问题都可以通过 tcpdump 优雅的解决: 相信大多数同学都遇到过 SSH 连接服务器缓慢,通过 tcpdump 抓包,可以快速定位到具体原因,一般都是因为 DNS 解析速度太慢。...
2023-09-28 74
Linux中断子系统Arch-speicific代码分析
Arch-speicific代码分析 中断也是异常模式的一种,当外设触发中断时,处理器会切换到特定的异常模式进行处理,而这部分代码都是架构相关的;ARM64的代码位于 arch/arm64/kernel/entry.S 。 ARM64处理器...
2023-09-28 78
IRQ domain支持几种映射方式
IRQ domain IRQ domain用于将硬件的中断号,转换成Linux系统中的中断号(virtual irq, virq),来张图: 每个中断控制器都对应一个IRQ Domain; 中断控制器驱动通过irq_domain_add_*()接口来创建IRQ Domain;...
2023-09-28 82
树莓派5将于10月底推出,树莓派5功能介绍
树莓派5 板的一部分的特写照片,以 DA9091 电源管理 IC 为中心,其名称印在上面与 BCM2712一样,DA9091 是多年共同开发努力的产物。通过与爱丁堡的瑞萨电子团队的密切合作,我们能够生产出一款...
2023-09-28 880
Linux GIC驱动数据结构分析
数据结构分析 先来张图: GIC驱动中,使用 struct gic_chip_data 结构体来描述GIC控制器的信息,整个驱动都是围绕着该结构体的初始化,驱动中将函数指针都初始化好,实际的工作是由中断信号触发...
2023-09-28 85
编辑推荐厂商产品威廉希尔官方网站 软件/工具OS/语言教程专题
电机控制 | DSP | 氮化镓 | 功率放大器 | ChatGPT | 自动驾驶 | TI | 瑞萨电子 |
BLDC | PLC | 碳化硅 | 二极管 | OpenAI | 元宇宙 | 安森美 | ADI |
无刷电机 | FOC | IGBT | 逆变器 | 文心一言 | 5G | 英飞凌 | 罗姆 |
直流电机 | PID | MOSFET | 传感器 | 人工智能 | 物联网 | NXP | 赛灵思 |
步进电机 | SPWM | 充电桩 | IPM | 机器视觉 | 无人机 | 三菱电机 | ST |
伺服电机 | SVPWM | 光伏发电 | UPS | AR | 智能电网 | 国民威廉希尔官方网站 | Microchip |
开关电源 | 步进电机 | 无线充电 | LabVIEW | EMC | PLC | OLED | 单片机 |
5G | m2m | DSP | MCU | ASIC | CPU | ROM | DRAM |
NB-IoT | LoRa | Zigbee | NFC | 蓝牙 | RFID | Wi-Fi | SIGFOX |
Type-C | USB | 以太网 | 仿真器 | RISC | RAM | 寄存器 | GPU |
语音识别 | 万用表 | CPLD | 耦合 | 电路仿真 | 电容滤波 | 保护电路 | 看门狗 |
CAN | CSI | DSI | DVI | Ethernet | HDMI | I2C | RS-485 |
SDI | nas | DMA | HomeKit | 阈值电压 | UART | 机器学习 | TensorFlow |
Arduino | BeagleBone | 树莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 华秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |