E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
S5PV210裸机
编写优质嵌入式C程序
原创2015年05月05日21:26:30211342318前言:这是一年前我为公司内部写的一个文档,旨在向年轻的嵌入式软件工程师们介绍如何在
裸机
环境下编写优质嵌入式C程序。
lzj18395598398
·
2023-07-18 10:55
嵌入式
C语言
嵌入式
c语言
编写优质嵌入式C程序(转)
前言:这是一年前我为公司内部写的一个文档,旨在向年轻的嵌入式软件工程师们介绍如何在
裸机
环境下编写优质嵌入式C程序。感觉是有一定的参考价值,所以拿出来分享,抛砖引玉。
daxi0315
·
2023-07-18 10:54
记录自己的程序移植经历(
裸机
软PLC C语言程序移植到Linux)
先说一下本人的基础,本人是一个小公司初来乍到的实习生,拿到这个任务的时候,不懂PLC,而对于linux只懂一点点皮毛的操作。结果硬是把程序移植完毕且能顺利运行。该程序是嵌入式软PLC,主要代码是对四元式指令的解析。说白了就是移植一个软PLC的运行时。拿到任务初期,首先是去了解了一下软PLC是什么,然后研读了一下公司工程师开发这个程序的设计文档、交互文档等。说实话,光看文档看了一周,看得云里雾里,不
คิดถึง643
·
2023-07-18 10:54
linux
运维
服务器
S3C2440点亮LED(
裸机
开发)
文章目录前言一、环境介绍一、GPIO介绍二、点亮开发板的LED1.预备动作2.led代码总结前言本期和大家主要分享的是使用S3C2440开发板点亮一个LED灯,可能大家拿到开发板之后做的第一件事情都是点灯,这是为什么呢?因为点灯这件事情不仅能够检验是否对GPIO接口有一个良好的应用,而且更重要的是能够检验开发环境是否正常,硬件电路,下载器是否能够正常工作;一、环境介绍开发环境:S3C2440开发板
F.LASH.
·
2023-07-17 11:08
ARM体系结构与接口技术
单片机
嵌入式硬件
arm开发
linux
汇编语言
使用VMware创建一个虚拟机,并安装乌班图系统
新建一个虚拟机到此,我们已经创建了一个虚拟机,注意此虚拟机现在还是一个
裸机
。
只会吃草的牛马
·
2023-07-16 18:38
虚拟机
java虚拟机
在Vitis IDE中使用第三方库 libtiff 保存 tiff 文件
目的和思路一个VitisIDE
裸机
项目,需要将视频帧无损地保存下来由于每帧的像素数据是16bit1通道的bayer格式,满足这一需求的图像格式似乎只有tiff格式开源的tiff库是libtiff,而在VitisIDE
爱学习的诸葛铁锤
·
2023-07-16 15:59
交叉编译
ide
arm学习-IIC总线连接温湿度传感器测量温湿度(si7006)
裸机
开发
main.c#include"si7006.h"externvoidprintf(constchar*fmt,...);voiddelay_ms(intms){inti,j;for(i=0;iAHB4*I2C1_SCL--->PF14*I2C1_SDA--->PF15***/#defineSET_SDA_OUTdo{GPIOF->MODER&=(~(0x3MODER|=(0x1MODER&=(~(
顾苏洋1990
·
2023-07-15 23:28
arm开发
stm32
si7006
iic总线
串行
传感器
裸机开发
s5pv210
开发板学习笔记(14)——uboot(5)
uboot命令体系基础使用uboot命令uboot启动后进入命令行环境下,在此输入命令按回车结束,uboot会收取这个命令然后解析,然后执行。uboot命令体系实现代码在哪里uboot命令体系的实现代码在uboot/common/cmd_xxx.c中。有若干个.c文件和命令体系有关。(还有command.cmain.c也是和命令有关的)每个命令对应一个函数1.每一个uboot的命令背后都对应一个函
阿韩干净又卫生
·
2023-07-15 23:56
学习
linux
运维
s5pv210
开发板学习笔记(14)——uboot(3)
start_armboot函数简介一个很长的函数1.这个函数在uboot/lib_arm/board.c的第444行开始到908行结束。2.450行还不是全部,因为里面还调用了别的函数。3.为什么这么长的函数,怎么不分成两三个函数?主要因为这个函数整个构成了uboot启动的第二阶段。一个函数组成uboot第二阶段宏观分析:uboot第二阶段应该做什么1.概括来讲uboot第一阶段主要就是初始化了S
阿韩干净又卫生
·
2023-07-15 23:25
学习
s5pv210
开发板学习笔记(14)——uboot(4)
uboot和内核到底是什么uboot是一个
裸机
程序uboot的本质就是一个复杂点的
裸机
程序。
阿韩干净又卫生
·
2023-07-15 23:25
C
嵌入式
学习
c语言
linux
s5pv210
开发板学习笔记(1)
s5pv210
开发板支持的启动模式:OneNandBoot(Mux/Demux)NandBoot(withH/W8/16-BitECC)MMCBoot(MMCSpecification4.3compatibleincludingeMMC
阿韩干净又卫生
·
2023-07-15 23:25
嵌入式硬件
s5pv210
开发板学习笔记(12)——触摸屏
输入类设备简介input/outputIO输入输出,是计算机系统中的一个概念。计算机的主要功能就是从外部获取数据然后进行计算加工得到输出数据并输出给外部(计算机可以看成数据处理器)。计算机和外部交互就是通过IO。每一台计算机都有个标准输入和标准输出。常见输入类设备键盘、鼠标、触摸屏、游戏摇杆、传感器、(摄像头并不是一个典型的输入类设备)触摸屏的特点触摸屏和人的关系很紧密,尤其是电容式触摸屏。触摸屏
阿韩干净又卫生
·
2023-07-15 23:55
嵌入式
学习
arm开发
嵌入式硬件
arm学习stm32之spi总线数码管倒计时,
裸机
开发,soc
由于时间没有用时间计时器操作,有些误差,后续有空会翻新计时器版本main.c#include"spi.h"externvoidprintf(constchar*fmt,...);voiddelay_ms(intms){inti,j;for(i=0;i=0;i--){for(j=9;j>=0;j--){for(k=5;k>=0;k--){for(l=9;l>=0;l--){for(m=200;m>=
顾苏洋1990
·
2023-07-15 23:18
arm开发
stm32
spi总线
裸机开发
soc
千锋教育嵌入式物联网教程之系统编程篇学习-05
设置文件阻塞特性文件描述符概述文件描述符的复制-dup和dup2dup函数dup2无名管道进程间的通信,大部分都是使用内核空间进行操作,因为每一个进程的1G内核空间是相同的,而用户空间不同有点像消息队列,我们在
裸机
编程的时候
简单点的学玩
·
2023-07-15 18:48
#
linux系统编程
学习
RT-Thread初识学习-04-GPIO操作
前言:在
裸机
开发和FreeRTOS开发过程中,我们使用的GPIO操作函数都是由stm32库函数提供,如GPIO_SetBits()、GPIO_Init()、GPIO结构体对端口进行初始化--模式、速度、
简单点的学玩
·
2023-07-15 18:48
#
RT_Thread
单片机
学习
stm32
arm学习stm32芯片学习方波启动蜂鸣器,马达,风扇,
裸机
开发,soc
main.c#include"pwm.h"externvoidprintf(constchar*fmt,...);voiddelay_ms(intms){inti,j;for(i=0;iMP_AHB4ENSETR|=(0x1MP_APB1ENSETR|=(0x1MODER&=(~(0x3MODER|=(0x1AFRL&=(~(0xfAFRL|=(0x1CR1&=(~((0xfCR1|=(0x1CR
顾苏洋1990
·
2023-07-15 14:58
arm开发
学习
stm32
pwm
裸机开发
soc
[uboot] (第四章)uboot流程——uboot编译流程
第四章)uboot流程——uboot编译流程http://blog.csdn.net/ooonebook/article/details/53000893以下例子都以projectX项目tiny210(
s5pv210
玛丽奥ZJY
·
2023-07-14 17:02
【uboot】
嵌入式_一种非常简单实用的基于GD32的
裸机
程序框架
嵌入式_一种非常简单实用的基于GD32的
裸机
程序框架搜索了一下关于GD或ST
裸机
程序的问题,网上有非常多也非常的例子,但是针对
裸机
开发的程序框架却比较少,这里简单整理了一下在项目中使用过的一种比较小巧便携的
裸机
程序框架
Awen_y
·
2023-07-14 14:37
单片机嵌入式
单片机
stm32
c语言
嵌入式LinuxLED驱动开发实验
地址映射1.1.1.实际物理地址映射到虚拟地址的函数1.1.2.内存访问函数2.硬件原理图分析3.实验程序编写3.1.驱动程序编写3.2.应用程序编写4.运行测试1.Linux下LED灯的驱动原理我们在
裸机
实验的时候
嵌入式进阶之路
·
2023-07-14 12:44
驱动开发
linux
利用Docker 安装 zookeeper和kafka
首先准备一台安装有jdk和docker的linux服务器,阿里云和腾讯云都有相关的产品,直接有docker版的linux服务云,如果是
裸机
,需要安装jdk和docker,这里就不赘述准备工作了1拉取镜像
qq_34324703
·
2023-07-14 09:41
java-zookeeper
docker
zookeeper
skywalking java agent集成
目录概述
裸机
集成docker集成k8s集成高级特性TraceapiLogbacktraceId协同跨线程trace附录Agent参数本地缓存队列参数是否显示Sql参数其他参数概述java应用skywalking
重庆阿汤哥
·
2023-07-13 23:57
skywalking
java
开发语言
skywalking安装
目录skywalking部署示意图server安装
裸机
安装docker单节点安装docker集群安装k8s安装helm安装(官方)k8syaml安装动态配置安装clientagent安装skywalking
重庆阿汤哥
·
2023-07-13 23:27
skywalking
docker
云原生
DELL的交换机PowerSwitch学习手册-ONIE篇
这是一个opensource的项目,对于
裸机
的网络交换机提供了一套安装环境。也可以通过O
存储服务专家StorageExpert
·
2023-06-24 07:18
DELL服务器维护
学习
运维
服务器
linux
RISC-V semi-hosting原理以及实践
嵌入式
裸机
调试需要在有限资源的目标硬件上尽可能挖掘更多的信息,比如打印寄存器等等,但是即便看似很简单的串口打印,在有的情况下也是奢望,针对这种情况,能够有效利用主机资源协同调试的semi-host(半主机
papaofdoudou
·
2023-06-24 04:57
嵌入式系统
semihosting
semihosting
RT-Thread-01-动态内存
启动过程在
裸机
当中,程序的启动顺序是在RT-Thread当中程序的启动顺序是动态内存堆的使用我们经常会听到堆栈的提法,那堆栈简单来说:栈(stack):由编译器自动分配和释放的内存空间;堆(heap):
ixx5
·
2023-06-24 02:41
mcu
【
裸机
开发】认识中断向量表(设置中断向量偏移的原因)
之前的LED驱动不存在中断,也就不包含中断的初始化。如果程序包含了中断,我们应还需要初始化哪些内容?要解决这个问题,我们需要先了解一个中断系统包含了哪些内容。①中断向量表:描述中断对应的中断服务函数,保存在程序开始运行的地方,默认是0x00000000②中断控制器(NVIC、GIC):中断系统的管理机构③中断使能:某个外设的中断使能(要使用某个外设的中断,要先使能这个外设的中断)④中断服务函数:当
仲夏夜之梦~
·
2023-06-24 02:28
#
裸机开发
c语言
开发语言
【
裸机
开发】IRQ 中断服务函数(二)—— 全局中断初始化
实现了IRQ中断服务函数的汇编部分以后,接下来我们要使用C代码实现IRQ中断服务函数的具体逻辑,主要包含初始化和中断处理两部分。全局中断初始化(全局中断使能、IRQ中断使能)具体中断处理逻辑实现目录一、全局中断初始化(理论流程)二、IRQ中断使能1、认识中断ID2、IRQ中断使能实现三、初始化IRQ中断服务函数表1、中断服务函数指针2、中断服务函数表声明3、中断服务函数表初始化四、总结:中断服务函
仲夏夜之梦~
·
2023-06-24 01:58
#
裸机开发
嵌入式硬件
驱动开发
linux
ARM-驱动/总结一
Linux设备驱动驱动:能够控制硬件实现特定功能的软件代码就是驱动ARM
裸机
驱动和驱动区别?ARM
裸机
驱动是不基于操作系统的软件代码,通常这份代码都是有开发者独立编写完成的。
全村的希望∞
·
2023-06-23 09:08
单片机
linux
stm32
【ARM
裸机
编程 | 海思SS528】- 操作 GPIO 寄存器输出低电平点亮 LED 灯
首先,了解一下ARM
裸机
编程,也就是在一块没有移植操作系统的ARM开发板去编程,相当于把它当成单片机去使用,很多与硬件相关的操作都需要直接读写该硬件的寄存器
wkd_007
·
2023-06-22 12:37
嵌入式开发
arm开发
单片机
嵌入式硬件
IMX6ULL
裸机
篇SPI实验-ICM20608测量值计算
一.SPI实验SPI实验:学习如何使用I.MX6U的SPI接口来驱动ICM-20608,读取ICM-20608的六轴数据。ICM20608传感器包括陀螺仪与加速度计,还有温度值。本篇文章来学习通过ADC的值,来转换为实际的值。例如,通过陀螺仪的X,Y,Z轴转化为角速度值。通过加速度计的X,Y,Z值转换为加速度计的加速度值。二.测试值计算由于陀螺仪的角速度是浮点型数,所以,可能需要保存数据的小数点后
凌雪舞
·
2023-06-21 22:53
嵌入式C开发
裸机开发
arm开发
linux
IMX6ULL
裸机
篇SPI实验-IMX6ULL硬件浮点的开启
一.SPI实验SPI实验:学习如何使用I.MX6U的SPI接口来驱动ICM-20608,读取ICM-20608的六轴数据。ICM20608传感器包括陀螺仪与加速度计,还有温度值。本实验就是读取陀螺仪的角速度,加速度计的加速值,以及芯片温度的值。本文学习一下,开启IMX6ULL芯片的硬件浮点支持操作(因为SPI实验读取的数据有浮点型数据)。二.IMX6ULL开启硬件浮点我们在使用浮点计算的时候程序卡
凌雪舞
·
2023-06-21 22:19
嵌入式C开发
裸机开发
arm开发
linux
Docker介绍与使用
容器介绍虚拟化虚拟化技术就是对资源的抽象,如虚拟机,虚拟内存等分类从资源提供角度分硬件平台虚拟化操作系统虚拟化从虚拟化实现方式分TypeI:半虚拟化,虚拟机直接运行在系统硬件上,被称为
裸机
型,没有所谓的宿主机操作系统
xiaotanggao
·
2023-06-21 06:16
linux运维(所有)
云计算
linux
docker
kvm
【
裸机
开发】中断系统 —— IRQ 中断服务函数(汇编部分)
IRQ和前面的Reset函数不大一样,当一个IRQ中断产生时,我们也不知道这个IRQ中断来自哪个外设,因此,需要先获取到中断ID,随后才会跳转到真正的中断服务函数执行处理逻辑。整个IRQ中断处理可以看做是包含了两个部分:汇编部分(环境准备):获取中断ID,跳转中断处理函数C语言部分:执行中断逻辑处理目录一、IRQ环境准备二、环境准备汇编实现1、保存现场2、获取中断ID3、切换SVC模式4、跳转通用
仲夏夜之梦~
·
2023-06-20 22:59
#
裸机开发
汇编
mr-library 开源嵌入式驱动框架
常见的开发方式大多分为两种:常见的开发方式通常分为两种:
裸机
编程和RTOS编程,由于两种方式的代码编写方式存在巨大差异,因此在两种方式之间切换意味着需要进行大规模的工程修改。
·
2023-06-20 10:54
嵌入式单片机c开源工具
ARM
裸机
开发篇2:ARM微处理器指令系统
处理器指令集数据操作指令乘法指令Load/Store指令跳转指令状态操作指令协处理器指令异常产生指令其他指令介绍ARM汇编实验实验目的实验原理实验内容实验步骤实验现象写在前面:本文章为《ARMCortex-A7
裸机
开发篇
华清远见IT开放实验室
·
2023-06-20 09:13
arm开发
arm开发
驱动开发
arm
嵌入式硬件
嵌入式
计算机系统层次结构与操作系统和驱动的定义
一、程序分类程序按其运行环境分为:
裸机
程序:直接运行在对应硬件上的程序应用程序:只能运行在对应操作系统上的程序二、计算机系统的层次结构计算机系统两种层次结构:2.1无操作系统的简单的两层结构2.2有操作系统的复杂的四层结构三
m0_74936872
·
2023-06-20 03:44
linux
操作系统
驱动
VMware 逃逸基础知识
例如Windows的Hyper-V,linux的KVM以及
裸机
上安装的Xen和VMwareESXi都属于VMM。HostOS:如果VMM是依赖于操作系统的,则宿主机操作系统,运行VMM。
_sky123_
·
2023-06-19 17:38
系统安全
安全架构
linux
PHY芯片的使用(一)之基本概念讲解1
本系列主要讲解在嵌入式领域的使用,以为Xilinxzynq7000系列or复旦微的FMQL为主控芯片,88e1111和国产PHYXL53XXX为例讲解,前几章介绍基本概念,而后主要以软件工程师的角度在
裸机
比特流1024
·
2023-06-19 06:46
芯片国产化
计算机网络
mcu
信息与通信
Java并发编程实战
在这种
裸机
环境中,不仅很难编写和运行程序,而且每次只能运行一个程序,这对昂贵并且稀有的计算机资源来说也是一种浪费。操作系统的出现,使计算机可以运行多个程序,并且不同的程序
杀手不太冷!
·
2023-06-19 04:12
读书笔记
java
开发语言
嵌入式Linux入门-Linux文件IO讲解并实现copy程序
嵌入式Linux入门学习教程汇总:嵌入式Linux教程—
裸机
、应用、驱动完整教程目录在Linux系统中,一切都是“文件”:普通文件、驱动程序、网络通信等等。所有的操作,都是通过“文件IO”来操作的。
闪耀大叔
·
2023-06-17 08:13
嵌入式Linux入门
嵌入式
arm
stm32
单片机
物联网
VMware ESXi 7.0 Update 3m - 领先的
裸机
Hypervisor (All OEM Customized Installer CDs)
VMwareESXi7.0Update3m-领先的
裸机
Hypervisor(AllOEMCustomizedInstallerCDs)ESXi7.0U3mStandard(标准版)ESXi7.0U3mDell
sysin.org
·
2023-06-16 17:48
VMware
ESXi
Dell
HPE
STM32U575 RTOS
计划在STM32U575引入FreeRTOS,先起个笔记的摘要,后续完善在
裸机
代码中,我们常用定时器去处理各种事件。
ruson525
·
2023-06-15 20:26
stm32
单片机
嵌入式硬件
【
裸机
开发】使用汇编清除 .bss 段
目录1、为什么要清除.bss段2、使用汇编清除.bss段1、为什么要清除.bss段.bss段保存的是未被初始化或者初始化为0的全局/静态变量。在编译器看来,这些东西是多余的,实际并不会给他们分配空间。因此,编译生成目标文件的时候,这些东西并不会被加载到目标文件中。目的是降低目标文件所占空间大小。万一我们用到了这些未被初始化的全局变量(如自增),因为没有被初始化,可能会引发一些问题。这里清除.bss
仲夏夜之梦~
·
2023-06-15 20:40
#
裸机开发
汇编
【
裸机
开发】系统时钟分路 PLL2_PFDx、PLL3_PFDx 配置实验(二)—— 寄存器分析篇
上一篇介绍了系统时钟的来源、时钟树以及PLL1分路的配置步骤。我们注意到,PLL2、PLL3是固定倍频,无法修改,但是他们下分的PFDx分路是可以修改的。只不过我们在初始化的时候,依然按照官方给定的频率进行初始化。目录一、了解相关寄存器二、PLL2_PFDx初始化三、PLL3_PFDx初始化一、了解相关寄存器现在只知道要设置PLL2_PFDx和PLL3_PFDx的频率,但是不知道要通过哪个寄存器设
仲夏夜之梦~
·
2023-06-15 20:39
#
裸机开发
单片机
嵌入式硬件
【
裸机
开发】中断系统(二)—— Reset 中断服务函数(汇编实现)
目录一、Reset中断服务函数的实现步骤二、汇编实现Reset中断服务函数1、禁止/打开全局中断2、设置SP指针3、清除.bss段4、完整Reset中断服务函数一、Reset中断服务函数的实现步骤实现Reset中断服务函数的基本步骤如下:设置各个模式下的SP指针。当中断发生后,会进入到对应的工作模式下,每个工作模式下要运行程序,肯定要用到栈,因此我们需要初始化不同模式下的栈指针。清除bss段。跳转
仲夏夜之梦~
·
2023-06-15 20:39
#
裸机开发
单片机
嵌入式硬件
【
裸机
开发】指定外设根时钟配置实验(三)—— 寄存器分析篇(PERCLK_CLK_ROOT、IPG_CLK_ROOT)
前面已经完成了PLL1和8路PFD的初始化,至于其他PLL路,等实际需要的时候再初始化也不迟。接下来我们就挑选几个具体的外设时钟进行配置。假设我们要初始化下面两个根时钟PERCLK_CLK_ROOT、IPG_CLK_ROOT。(中途可能还涉及到根时钟AHB_CLK_ROOT)目录一、路线选择1、PERCLK_CLK_ROOT路线分析2、IPG_CLK_ROOT路线分析3、AHB_CLK_ROOT路
仲夏夜之梦~
·
2023-06-15 20:37
#
裸机开发
嵌入式硬件
驱动开发
linux
IMX6ULL
裸机
篇之SPI实验-ICM20608代码实现
之前学习了SPI主控芯片代码的编写,如下所示:IMX6ULL
裸机
篇之SPI原理图_凌雪舞的博客-CSDN博客IMX6ULL
裸机
篇之SPI实验-SPI主控寄存器_凌雪舞的博客-CSDN博客IMX6ULL
裸机
篇之
凌雪舞
·
2023-06-15 05:32
嵌入式C开发
裸机开发
arm开发
linux
JAVA开发与运维(怎么通过docker部署微服务jar包)
一、背景:我们通过java开发的微服务可以打成jar包,我们可以直接通过
裸机
部署,也可以通过docker来部署,本文介绍通过docker来部署微服务。
茅河野人
·
2023-06-14 18:24
java
java
微服务
运维
zynq操作系统: Linux驱动开发AXIDMA篇
由于bram形式的速率限制,在同样紧急的时间条件下,还是改回了axidma的方式来降维打击,对于几兆的速率,颇有种杀鸡用牛刀的感觉,没办法,原来的刀就是差一点,牛刀好用是好用但是终究得提升一点内功
裸机
下的
快跑bug来啦
·
2023-06-14 16:01
ZYNQ
Linux
嵌入式
linux
dma
kernel
驱动程序
ZYNQ 启动过程简介 以及 ZYNQ
裸机
生成BOOT.BIN
背景下图是ZYNQ的启动过程上电复位等完成后,先执行BootRom,然后再根据MIO设定的启动方式选择对应从哪里启动,无论从哪里启动,都需要一个BOOT.BIN文件,对于
裸机
程序来说:BOOT.BIN应对包含如下信息
Hello-FPGA
·
2023-06-14 11:00
上一页
13
14
15
16
17
18
19
20
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他