EasyARM-iMX257_U-Boot源代码移植分析

发布时间:2024-08-16  

I-mx257

u-boot-2009.08/cpu/arm926ejs

u-boot-2009.08/board/freescale

u-boot-2009.08/board/freescale/mx25_3stack

 

(1)、分析Makefile

首先我们分析Makefile,很容易发现在3210-3214行中,新增加了:

mx25_3stack_config    :    unconfig

@$(MKCONFIG) $(@:_config=) arm arm926ejs mx25_3stack freescale mx25

 

mx28_config : unconfig

@$(MKCONFIG) $(@:_config=) arm arm926ejs mx28 freescale mx28

 

mx25_3stack_config 是针对 IMX25x 系列的开发板

        è ./mkconfig mx25_3stack arm arm926ejs mx25_3stack freescale mx25

mx28_config 是针对 IMX28x 系列的开发板

        è ./mkconfig mx28 arm arm926ejs mx28 freescale mx28

当我们运行makefile时,实际上运行的是上面的命令,下面我们来分析一下mkconfig。

./mkconfig mx25_3stack arm arm926ejs mx25_3stack freescale mx25

 

(2)、分析mkconfig

然后,我们来分析配置过程mkconfig,去掉它跟我们无关的代码:

 

#./mkconfig mx25_3stack arm arm926ejs mx25_3stack freescale mx25

# $0         $1         $2     $3            $4        $5     $6

 

APPEND=no    # Default: Create new config file

BOARD_NAME=''    # Name to print in make output

 

[ '${BOARD_NAME}' ] || BOARD_NAME='$1'

#=> 单板的名字:BOARD_NAME = mx25_3stack

 

echo 'Configuring for ${BOARD_NAME} board...'

#=> 接下来会打印这句话

 

# Create link to architecture specific headers

    cd ./include

    rm -f asm

    ln -s asm-$2 asm

#=> ln -s asm-arm asm

# 在include下生成一个指向asm-arm的链接文件

 

rm -f asm-$2/arch

#=> rm -f asm-arm arch

 

ln -s ${LNPREFIX}arch-$6 asm-$2/arch

#=> ln -s arch-mx25 asm-arm/arch

# 在include/asm-arm 下生成一个指向arch-mx25的链接文件

 

if [ '$2' = 'arm' ] ; then

    rm -f asm-$2/proc

    ln -s ${LNPREFIX}proc-armv asm-$2/proc

#=> ln -s arch-mx25 asm-arm/arch

# 在include/asm-arm 下生成一个指向asm-arm/proc的链接文件

fi

 

#

# Create include file for Make

#

echo 'ARCH = $2' > config.mk

echo 'CPU = $3' >> config.mk

echo 'BOARD = $4' >> config.mk

# 生成config.mk 文件 内容如下:

# ARCH = arm

# CPU = arm926ejs

# BOARD = mx25_3stack

 

[ '$5' ] && [ '$5' != 'NULL' ] && echo 'VENDOR = $5' >> config.mk

# $5 = freescale 在config.mk中添加

# VENDOR = freescale

 

[ '$6' ] && [ '$6' != 'NULL' ] && echo 'SOC = $6' >> config.mk

# $6 = mx25 在config.mk中添加

# SOC = mx25

 

# Create board specific header file

    > config.h        # Create new config file

 

echo '/* Automatically generated - do not edit */' >>config.h

echo '#include ' >>config.h

echo '#include ' >>config.h

 

#新建一个config.h文件,并添加以上信息

 

exit 0

 

从上面的mkconfig简化代码,我们得知,mkconfig中主要功能就是:

定义一些链接文件,生成config.mk、config.h内容如下:

可以看出,config.mk 和config.h 文件中的代码和我们分析的一模一样。

(3)、分析编译过程

分析编译过程 ,我们还是分析Makefile

 

157 # load ARCH, BOARD, and CPU configuration

158 include $(obj)include/config.mk

159 export    ARCH CPU BOARD VENDOR SOC

#紧跟上面的配置过程,这里mkconfig.mk就是上一步生成的一些开发板的相关信息

 

172 OBJS = cpu/$(CPU)/start.o

# OBJS = cpu/arm926ejs/start.o

 

186 LIBS = lib_generic/libgeneric.a

 

191 LIBS += cpu/$(CPU)/lib$(CPU).a

# LIBS += cpu/ arm926ejs/lib arm926ejs.a

 

254 LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).a

255 LIBBOARD := $(addprefix $(obj),$(LIBBOARD))

# LIBBOARD = board/ freescale /mx25_3stack/libmx25_3stack.a

 

295 ALL += $(obj)u-boot.srec $(obj)u-boot.bin

$ (obj)System.map $(U_BOOT_NAND) $(U_BOOT_ONENAND)

296 all:        $(ALL)

 

280 U_BOOT_NAND = $(obj)u-boot-nand.bin

285 U_BOOT_ONENAND = $(obj)u-boot-onenand.bin

 

302 $(obj)u-boot.srec:    $(obj)u-boot

303 $(OBJCOPY) -O srec $< $@

 

305 $(obj)u-boot.bin:    $(obj)u-boot

306 $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@

#这个u-boot是一个elf格式 的可执行文件

 

450 $(obj)System.map:    $(obj)u-boot

451 @$(call SYSTEM_MAP,$<) > $(obj)System.map

 

 

在boardfreescalemx25_3stack的u-boot.lsd链接脚本中,定义了,所有数据在内存中的排放方式

在config.mk中定义了数据排放的地址

LDSCRIPT := $(SRCTREE)/board/$(VENDOR)/$(BOARD)/u-boot.lds

 

TEXT_BASE = 0x83F00000

 

在 u-boot.lsd中定义了排放顺序

    . = 0x00000000;

#从config.mk知,下面的数据从TEXT_BASE = 0x83F00000开始排放

 

    . = ALIGN(4);

    .text     :

    {

#代码段排放顺序

     board/freescale/mx25_3stack/dcdheader.o (.text)

     cpu/arm926ejs/start.o    (.text)

     *(.text)

    }

#所有文件的只读数据段

    . = ALIGN(4);

    .rodata : { *(.rodata) }

#所有文件的数据段

    . = ALIGN(4);

    .data : { *(.data) }

 

    . = ALIGN(4);

    .got : { *(.got) }

 

    . = .;

    __u_boot_cmd_start = .;

#所有文件的u_boot_cmd段,u-boot自定义的段

    .u_boot_cmd : { *(.u_boot_cmd) }

    __u_boot_cmd_end = .;

 

    . = ALIGN(4);

    __bss_start = .;

    .bss : { *(.bss) }

    _end = .;

 

从上面得知,我们的代码将会从

 

我们代码的运行顺序是 dcdheader.s => start.s => *

所以我们,从dcdheader.s 和 start.s 开始分析

(4)、分析第一阶段start.s分析

第一阶段:dcdheader.s和start.s分析

cdcheader.s中主要是对开发板的一些内存MDDR,DDR2等的一些初始化,看不懂可以跳过

 

.extern reset

 

#define DCDGEN(i,type, addr, data)

dcd_##i:            ;

.long type            ;

.long addr            ;

.long data

 

.globl _initheader

_initheader:

    b    reset

    .org 0x400

app_code_jump_v:    .long reset

app_code_barker:    .long 0xB1

app_code_csf:        .long 0

hwcfg_ptr_ptr:        .long hwcfg_ptr

super_root_key:        .long 0

hwcfg_ptr:        .long dcd_data

app_dest_ptr:        .long TEXT_BASE

dcd_data:        .long 0xB17219E9

 

#ifdef MXC_MEMORY_MDDR

dcd_len:        .long 12*15

#else

dcd_len:        .long 12*24

#endif

 

/* WEIM config-CS5 init -- CPLD */

DCDGEN( 1, 4, 0xB8002050, 0x0000D843) /* CS5_CSCRU */

DCDGEN( 2, 4, 0xB8002054, 0x22252521) /* CS5_CSCRL */

DCDGEN( 3, 4, 0xB8002058, 0x22220A00) /* CS5_CSCRA */

#ifdef MXC_MEMORY_MDDR

/* MDDR init */

DCDGEN( 4, 4, 0xB8001010, 0x00000004) /* enable mDDR */

DCDGEN( 5, 4, 0xB8001000, 0x92100000) /* precharge command */

DCDGEN( 6, 1, 0x80000400, 0x12344321) /* precharge all dummy write */

DCDGEN( 7, 4, 0xB8001000, 0xA2100000) /* auto-refresh command */

DCDGEN( 8, 4, 0x80000000, 0x12344321) /* dummy write for refresh */

DCDGEN( 9, 4, 0x80000000, 0x12344321) /* dummy write for refresh */

DCDGEN(10, 4, 0xB8001000, 0xB2100000) /* Load Mode Reg command - cas=3 bl=8 */

DCDGEN(11, 1, 0x80000033, 0xda)    /* dummy write -- address has the mode bits */

DCDGEN(12, 1, 0x81000000, 0xff) /* dummy write -- address has the mode bits */

DCDGEN(13, 4, 0xB8001000, 0x82216880)

DCDGEN(14, 4, 0xB8001004, 0x00295729)

#else

/* DDR2 init */

DCDGEN( 4, 4, 0xB8001004, 0x0076E83A)    /* initial value for ESDCFG0 */

DCDGEN( 5, 4, 0xB8001010, 0x00000204)    /* ESD_MISC */

DCDGEN( 6, 4, 0xB8001000, 0x92210000)    /* CS0 precharge command */

DCDGEN( 7, 4, 0x80000f00, 0x12344321)    /* precharge all dummy write */

DCDGEN( 8, 4, 0xB8001000, 0xB2210000)    /* Load Mode Register command */

DCDGEN( 9, 1, 0x82000000, 0xda)        /* dummy write Load EMR2 */

DCDGEN(10, 1, 0x83000000, 0xda)        /* dummy write Load EMR3 */

DCDGEN(11, 1, 0x81000400, 0xda)        /* dummy write Load EMR1; enable DLL */

DCDGEN(12, 1, 0x80000333, 0xda)        /* dummy write Load MR; reset DLL */

 

DCDGEN(13, 4, 0xB8001000, 0x92210000)    /* CS0 precharge command */

DCDGEN(14, 1, 0x80000400, 0x12345678)    /* precharge all dummy write */

 

DCDGEN(15, 4, 0xB8001000, 0xA2210000)    /* select manual refresh mode */

DCDGEN(16, 4, 0x80000000, 0x87654321)    /* manual refresh */

DCDGEN(17, 4, 0x80000000, 0x87654321)    /* manual refresh twice */

 

DCDGEN(18, 4, 0xB8001000, 0xB2210000)    /* Load Mode Register command */

DCDGEN(19, 1, 0x80000233, 0xda)        /* Load MR; CL=3, BL=8, end DLL reset */

DCDGEN(20, 1, 0x81000780, 0xda)        /* Load EMR1; OCD default */

DCDGEN(21, 1, 0x81000400, 0xda)        /* Load EMR1; OCD exit */

DCDGEN(22, 4, 0xB8001000, 0x82216080)    /* normal mode */

DCDGEN(23, 4, 0x43FAC454, 0x00001000)    /* IOMUXC_SW_PAD_CTL_GRP_DDRTYPE(1-5) */

#endif

 

DCDGEN(99, 4, 0x53F80008, 0x20034000) /* CLKCTL ARM=400 AHB=133 */

card_cfg:    .long UBOOT_IMAGE_SIZE

 

start.s主要的功能就是:

关闭看门狗,初始化时钟,初始化SDRAM,设置栈,读出内核,跳到内核启动的C函数开始启动内核。

.globl reset

reset:

/** set the cpu to SVC32 mode 设置为SVC32管理模式*/

[1] [2]
关键字:U-Boot 引用地址:EasyARM-iMX257_U-Boot源代码移植分析 声明:本文内容及配图由平台用户或入驻媒体撰写。文章观点仅代表作者本人,不代表EEWorld网站立场。文章及其配图仅供工程师学习之用,如有内容侵权或违规,请联系本站处理,邮箱地址:bbs_service@eeworld.com.cn

上一篇:IMX257实现GPIO-查询按键驱动程序
下一篇:linux移植u-boot(一)——U-Boot详解+自定义命令实战

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
加好友,回复“进群” 拉你进技术交流群
加好友,回复“进群”
拉你进技术交流群
汽车开发圈
汽车开发圈
0

推荐阅读最新更新时间:2024-08-26 17:00

TQ2440之uboot---5.jlink 在线调试 u-boot
1. 首先修改u-boot源码的两个文件 1.1 将u-boot根目录下的config.mk, #DBGFLAGS= -g 改成:DBGFLAGS= -gdwarf-2 1.2 将 u-boot/cpu/arm920t/config.mk 中的 PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) 改成: PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,$(call cc-option,-mabi=apcs-gnu),) 附录中有解释。 改好后 make Embed
[单片机]
基于S3C2440A的嵌入式U-BOOT千兆网络功能设计
U—BooT支持网络功能,在下载操作系统内核和大的文件系统时,比其它不支持网络的引导加载程序速度更快、更方便。目前U—BOOT仅支持10M/100M的网络功能,随着科学技术发展,千兆网络功能必将大量应用在嵌入式系统中。本文介绍了一种让U—BOOT支持千兆网络功能的方法,可以使U—BOOT功能更加强大,使用更加方便。 U—BOOT简介 U—BOOT的全称是Universal Boot Loader,它遵循GPL条款的开放源码项目,支持多种处理器,如ARM、PowerPC、MIPS等,也支持Linux、VxWorks、QNX、RTEMS、ARTOS、LynxOS等嵌入式操作系统。 U-BOOT包含两种不同的工作模式:启动加载模式和
[单片机]
基于S3C2440A的嵌入式<font color='red'>U-BOOT</font>千兆网络功能设计
U-Boot在S3C2410上的移植
引言 U-Boot是用于初始化目标板硬件,为嵌入式操作系统提供目标板硬件配置信息,完成嵌入式操作系统装载、引导和运行的固件程序。它能够将系统的软硬件紧密衔接在一起。S3C2410是三星公司的一款基于ARM920T核的嵌入式通用处理器。本文将详细介绍U-Boot在S3C2410开发板上的移植与运行。 U-BOOT简介 U-Boot支持ARM、 PowerPC等多种架构的处理器,也支持Linux、NetBSD和VxWorks等多种操作系统。它提供启动加载和下载两种工作模式。启动加载模式也称自主模式,一般是将存储在目标板Flash中的内核和文件系统的镜像装载到SDRAM中,整个过程无需用户的介入。在使用嵌入式产品时,一
[嵌入式]
移植u-boot-1.1.6之mtdparts分区
和u-boot高版本不同,mtdparts命令没有cmd_mtdparts这么一个单独的文件来实现。 不过,搜索uboot可以在cmd_jffs2.c里面看到如下代码: 1 U_BOOT_CMD( 2 mtdparts, 6, 0, do_jffs2_mtdparts, 3 mtdparts- define flash/nand partitionsn , 4 n 5 - list partition tablen 6 mtdparts delalln 7 - delete all partitionsn 8 mtdparts del part-idn 9
[单片机]
I.MX6Q(TQIMX6Q/TQE9)学习笔记——U-Boot移植
其实Freescale的BSP移植文档已经将u-boot的移植步骤讲述的非常详细了,但为了以后方便查阅,还是按照自己的理解记录在这里。 获取源码 根据前一篇文章搭建好LTIB环境后就可以非常方便的导出u-boot源码了。切换到ltib目录,并运行如下指令: ./ltib -m prep -p u-boot 该指令执行需要一些时间,指令执行完成后Freescale维护的u-boot-2009.8就会出现在rpm/BUILD目录下。 添加单板 为TQIMX6Q开发板创建相应的单板目录,可以参考sabresd相关的目录进行,下面是具体的步骤。 Step1. 创建board目录 创建board目录需要以下几步:
[单片机]
I.MX6Q(TQIMX6Q/TQE9)学习笔记——<font color='red'>U-Boot</font><font color='red'>移植</font>
基于S3C2410开发板的U-BOOT移植解决方案
引言 随着嵌入式系统的日趋复杂,它对大容量数据存储的需求越来越紧迫。而嵌入式设备低功耗、小体积以及低成本的要求,使硬盘无法得到广泛的应用。NAND闪存设备就是为了满足这种需求而迅速发展起来的。目前关于U-BOOT的移植解决方案主要面向的是微处理器中的NOR 闪存,如果能在微处理器上的NAND 闪存中实现U-BOOT的启动,则会给实际应用带来极大的方便。 U-BOOT简介 U-BOOT 支持ARM、 PowerPC等多种架构的处理器,也支持Linux、NetBSD和VxWorks等多种操作系统,主要用来开发嵌入式系统初始化代码bootloader。bootloader是芯片复位后进入操作系统之前执行的一段代码,完成由硬件启动到操
[单片机]
基于S3C2410开发板的<font color='red'>U-BOOT</font><font color='red'>移植</font>解决方案
第一章、Tiny4412 U-BOOT移植一 说明
一、移植前说明: 1、 特别声明:此文档是我的学习文档,里面肯定有错误地方,仅供参考! 2、移植平台:友善之臂Tiny4412SDK1306平台。 3、移植系统:Ubuntu12.04 4、移植原始CODE:平台光盘中由Samsung提供的U-Boot-samsung-dev.tar.bz2。为什么用这个,只能说因为我也菜鸟,我找了u-boot官网最新的代码看了一下,我没有在boardsamsung目录下找到与Exynos4412芯片很相关的平台目录,估计是有的,只是由于我很菜,不清楚是那一个,为了省自学时间,还是用三星提供的U-Boot源码。 5、参考文档:各相关手册,主要手册是Exynos4412 RISC Microproc
[单片机]
第一章、Tiny4412 <font color='red'>U-BOOT</font><font color='red'>移植</font>一 说明
OK6410A 开发板 (三) 2 u-boot-2018.09 ethernet 解析
u-boot-2018.09(源码基于https://download.csdn.net/download/Golden_Chen/11998917) 现状 1. 检查当前局域网可用ip $ nmap -sP 10.10.11.* 2. 设置 u-boot ip 相关变量 setenv gatewayip 10.10.11.254 setenv ipaddr 10.10.11.120 setenv serverip 10.10.11.57 setenv netmask 255.255.255.0 3. ping 局域网主机 OK6410 # ping 10.10.11.57 Unknown command 'ping
[单片机]

猜您喜欢

热门资源推荐
热门放大器推荐
更多
  •  pdf文件软件调试 第2版 卷2 Windows平台调试 (张银奎)
  •  pdf文件深度实践嵌入式Linux系统移植
  •  pdf文件深入分析GCC (源码分析系列) (王亚刚)
  •  pdf文件ESP32 steuert Roboterauto Open-Source-Code mit Arduino IDE und PlatformIO Autonomes Fahren GPS, Acce
  •  开关电源理论及设计
  •  东芝SPDT射频开关TCWA1225G
  •  功率半导体器件基础
  •  开关变换器分析与设计
小广播
免费下载 | TE暖通空调 & 热泵解决方案资料包!
活动时间:即日起-9月26日
Microchip mSiC™ 产品及其在电动出行中的典型应用方案 直播报名中
即日起—09月24日 11:00
【干货分享】汽车ADAS学习资源——从基础到应用,全面了解ADAS
有奖活动 | 来 Pl BridgeSwitch™ 技术中心探秘半桥电机驱动器新技术
活动时间:即日起-9月30日
活动奖励:50元京东卡
ADI & WT ·世健 MCU 痛点问题探索季——第二站:直播 | MCU应用难题全力击破!报名开始啦~
有奖直播 | 德州仪器 C2000™ 系列培训会
直播时间:9月12日(周四)下午13:00
直播奖励:双肩包、眼部按摩仪、LED台灯、跳绳、浴巾
有奖直播报名| 艾迈斯欧司朗高效能源存储:工业级数据采集前端集成电路产品分享
9月5日(周四)上午10:00-11:30
国产FPGA安路科技研讨会-北京站 火热报名中,参会赢京东卡!
会议时间:9月12日(周四)下午13:30
会议地点:北京丽亭华苑酒店
TI有奖直播报名中|使用 MSPM0 AEC-Q100 MCU 设计更智能的汽车系统
即日起—09月12日 11:30
有奖直播报名 | 英飞凌全新Wi-Fi6单芯片SoC助力物联网产品的快速开发
9月20日(周五)上午10:00
免费下载 | TE暖通空调 & 热泵解决方案资料包!
活动时间:即日起-9月26日
Microchip mSiC™ 产品及其在电动出行中的典型应用方案 直播报名中
即日起—09月24日 11:00
【干货分享】汽车ADAS学习资源——从基础到应用,全面了解ADAS
有奖活动 | 来 Pl BridgeSwitch™ 技术中心探秘半桥电机驱动器新技术
活动时间:即日起-9月30日
活动奖励:50元京东卡
ADI & WT ·世健 MCU 痛点问题探索季——第二站:直播 | MCU应用难题全力击破!报名开始啦~
有奖直播 | 德州仪器 C2000™ 系列培训会
直播时间:9月12日(周四)下午13:00
直播奖励:双肩包、眼部按摩仪、LED台灯、跳绳、浴巾
有奖直播报名| 艾迈斯欧司朗高效能源存储:工业级数据采集前端集成电路产品分享
9月5日(周四)上午10:00-11:30
国产FPGA安路科技研讨会-北京站 火热报名中,参会赢京东卡!
会议时间:9月12日(周四)下午13:30
会议地点:北京丽亭华苑酒店
TI有奖直播报名中|使用 MSPM0 AEC-Q100 MCU 设计更智能的汽车系统
即日起—09月12日 11:30
有奖直播报名 | 英飞凌全新Wi-Fi6单芯片SoC助力物联网产品的快速开发
9月20日(周五)上午10:00
添点儿料...
无论热点新闻、行业分析、技术干货……
发布文章
推荐内容
热门活动
换一批
更多
免费申请 | MPS  MIE 系列隔离式稳压 DCDC 模块!
免费下载 | TE暖通空调 & 热泵解决方案资料包!
有奖测评 | 英飞凌新品情报站:最新 5V XENSIVTM PAS CO2 传感器 套件测评
9月24日 直播|Microchip mSiC™产品及其在电动出行中的典型应用方案
有奖活动 | 来 Pl BridgeSwitch™ 技术中心探秘半桥电机驱动器新技术
设计资源 培训 开发板 精华推荐
  • 【下载】LAT1415 如何通过STM32CubeMX添加使用DSP
  • 【下载】LAT1437 选择USBX模块生成USB CDC ACM无PD的项目
  • 【下载】LAT1420 头文件包含顺序导致Keil编译出错的问题分析
  • 【下载】LAT1447 电机测速方法以及在STM32中的实现
  • 【下载】LAT1419 从BOOT跳转到APP后运行失败的问题分析
  • 【下载】LAT1421 如何在STM32U5 TF-M工程中添加自定义服务

最新单片机文章
  • 【51单片机】矩阵键盘逐行扫描法仿真实验+超详细Proteus仿真和Keil操作步骤
    一、环境我用的是Keil5做编译工具,用proteus仿真。除了Keil5不知道有没有其他好用的能生成 hex文件的软件(要单片机运行是需要生成 hex文 ...
  • Linux移植之配置过程分析
    在Linux移植之移植步骤中已经将Linux移植的过程罗列出来了,现在分析一下Linux的配置过程,将分析以下两个配置过程:1、make s3c2410_defc ...
  • Linux移植之make uImage编译过程分析
    编译出uboot可以运行的linux内核代码的命令是make uImage,下面详细介绍下生成linux-2 6 22 6 arch arm boot uImage的过程:1、vmlinux、I ...
  • Linux移植之auto.conf、autoconf.h、Mach-types.h的生成过程简析
    在Linux移植之make uImage编译过程分析中分析了uImage文件产生的过程,在uImage产生的过程中,顺带还产生了其它的一些中间文件。这里主要 ...
  • Linux移植之子目录下的built-in.o生成过程分析
    在Linux移植之make uImage编译过程分析中罗列出了最后链接生成vmlinux的过程。可以看到在每个子目录下都有一个built-in o文件。对于此产生 ...
  • Linux移植之内核启动过程引导阶段分析
  • Linux移植之内核启动过程start_kernel函数简析
  • Linux移植之tag参数列表解析过程分析
  • 一、编写 s3c24x0 的 bootloader——介绍、看门狗及时钟设置
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

  • 《单片机与嵌入式系统应用》历年文章目录
  • 物联网时代的嵌入式系统机遇
  • 从嵌入式系统视角看物联网
更多精选电路图
  • MC34063充电电压变换器
  • 自制电动车可调稳压电源
  • 用TA7335集成块制作的调频发射电路
  • 三端双向可控硅触发象限及参数
  • 串联型直流稳压电源电路原理图讲解
  • 三相电源相电压失效自动切换电路
换一换 更多 相关热搜器件
  •  AS6218-AWLT-S
  •  KDZVTFTR15B
  •  PDZVTFTR9.1B
  •  15KW100CCOX.250
  •  MC1206-3790-DT101
  •  20IMX35D12D12-9ZI
  •  SBYV26D
  •  257-556/000-017
  •  B81130A1333289
  •  JHT24096APBEEBNUA
更多热门文章
  • 51单片机-定时器工作模式2
  • GNU Freestanding(Naked)C ARM交叉开发环境创建与测试
  • 瑞萨电子32位RX微控制器产品家族交付第10亿颗芯片
  • 变频器过载和过流有什么区别?
  • 汽车电子的lidar检测车道线原理分析
  • 基于热敏电阻的温度测量系统设计
更多每日新闻
  • 2024年SNE电池日:固态电池技术和前沿发展
  • 超3500亿元市场,中国电池巨头土耳其建厂
  • 全固态电池响“惊雷”!产业化加速
  • Intel Inside,卷到智能汽车了
  • 磁流变悬架上车自主品牌,零跑汽车与京西集团达成合作
  • 欧思微完成数千万Pre-A+轮融资,聚焦车规无线SoC芯片
  • 助力智能化,汽车激光雷达的中国四大豪杰
  • 终于要来了,国产金石固态电池发布,续航1200km,12分钟充满电
  • 环视场景研究:2024H1环视摄像头安装量达1811万颗,朝转向盲区影像拓展
  • RTOS正在缩小与Linux的差距
更多往期活动
  • 是德科技(Keysight)有奖征文,下笔赢示波器啦!
  • 省钱、省心的购买租赁方案,让您不再为预算烦恼!
  • 看视频赢好礼:泰克MIPI家族介绍和测试方案,迎接未来的测试挑战
  • TI 最新CapTIvate™ 触控微控制器技术直播开始报名喽!报名参与有礼呦!
  • ADI有奖下载活动之19:ADI可编程逻辑控制器(PLC)解决方案(更新版)
  • 有奖问答:在线寻找英特尔® 视觉加速设计“全知”达人
  • Intel有奖下载之七,礼品多多等你拿!
  • 夏末秋初,玩转EE芯积分,边赚边花+礼品兑换剧透
08月27日历史上的今天
  • 盘点29家教育机器人企业,解析新科技能否颠覆传统教育模式?
  • 第六代微软小冰,何时实现商业化?
  • 科沃斯发布2018上半年财报 告诉你消费级机器人市场潜力有多大
  • 日本研发智能缝纫机 通过特定App就能自动刺绣
  • 颠覆人机交互 脑机接口正走向现实
  • 华为研发费用激增至10年前9倍
  • 成功案例|仙工智能智能物流解决方案,助力客户轻松解决产线对接
  • 2021年中国高层外墙清洗机器人市场需求现状分析 高层建筑增长催生大量市场需求
  • 打破日美垄断!国内公司称芯片核心技术达国际中高水准
  • 上海携手长三角共同打造集成电路等世界级产业群
厂商技术中心

最能打国产芯

TI 培训

Qorvo 电源技术站

Vicor技术站

随便看看
  • 【深圳猎头】【STB Software Application Engineer】诚聘IC行业相关人才 持续更新
  • FRAM单片机
  • 【晒样片】给还没有成功申请到样片的朋友一些参考
  • stm8l151C6 RC522 物理SPI没有SCK时钟
  • 基于IIS音频系统设计(1)
  • BCD 的应用
  • 求MSP430 LaunchPad 原理图
  • RIL问题
  • 申请MSP430开发板团购资格
  • 再说线性直流稳压器与高频开关稳压器

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 综合资讯 51单片机 PIC单片机 AVR单片机 ARM单片机 嵌入式系统 汽车电子 消费电子 数据处理 视频教程 电子百科 其他技术 STM32 MSP430 单片机资源下载 单片机习题与教程

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>