uboot在s3c2440上的移植(2)

发布时间:2024-07-18  

一、移植环境

  • 主  机:VMWare--Fedora 9

  • 开发板:Mini2440--64MB Nand,Kernel:2.6.30.4

  • 编译器:arm-linux-gcc-4.3.2.tgz

  • u-boot:u-boot-2009.08.tar.bz2

二、移植步骤

4)准备进入u-boot的第二阶段(在u-boot中添加对我们开发板上Nor Flash的支持)。
通常,在嵌入式bootloader中,有两种方式来引导启动内核:从Nor Flash启动和从Nand Flash启动。u-boot中默认是从Nor Flash启动,再从上一节这个运行结果图中看,还发现几个问题:第一,我开发板的Nor Flash是2M的,而这里显示的是512kB;第二,出现Warning - bad CRC, using default environment的警告信息。不是u-boot默认是从Nor Flash启动的吗?为什么会有这些错误信息呢?这是因为我们还没有添加对我们自己的Nor Flash的支持,u-boot默认的是其他型号的Nor Flash,而我们的Nor Flash的型号是SST39VF1601。另外怎样将命令行提示符前面的SMDK2410变成我自己定义的呢?

下面我们一一来解决这些问题,让u-boot完全对我们Nor Flash的支持。首先我们修改头文件代码如下:

#gedit include/configs/my2440.h //修改命令行前的名字和Nor Flash参数部分的定义

#define CONFIG_SYS_PROMPT   "[MY2440]#"  //将命令行前的名字改成[MY2440]

 

/*-----------------------------------------------------------------------
 * FLASH and environment organization
 */
#if 0    //注释掉下面两个类型的Nor Flash设置,因为不是我们所使用的型号
#define CONFIG_AMD_LV400     1 /* uncomment this if you have a LV400 flash */
#define CONFIG_AMD_LV800     1 /* uncomment this if you have a LV800 flash */
#endif

#define CONFIG_SYS_MAX_FLASH_BANKS 1  /* max number of memory banks */

#ifdef CONFIG_AMD_LV800
#define PHYS_FLASH_SIZE            0x00100000  /* 1MB */
#define CONFIG_SYS_MAX_FLASH_SECT  (19)        /* max number of sectors on one chip */
#define CONFIG_ENV_ADDR            (CONFIG_SYS_FLASH_BASE + 0x0F0000) /* addr of environment */
#endif
#ifdef CONFIG_AMD_LV400
#define PHYS_FLASH_SIZE            0x00080000  /* 512KB */
#define CONFIG_SYS_MAX_FLASH_SECT  (11)        /* max number of sectors on one chip */
#define CONFIG_ENV_ADDR            (CONFIG_SYS_FLASH_BASE + 0x070000) /* addr of environment */
#endif
#define CONFIG_SST_39VF1601        1        //添加mini2440开发板Nor Flash设置
#define PHYS_FLASH_SIZE            0x200000 //我们开发板的Nor Flash是2M
#define CONFIG_SYS_MAX_FLASH_SECT  (512)    //根据SST39VF1601的芯片手册描述,对其进行操作有两种方式:块方式和扇区方式。现采用扇区方式(sector),1 sector = 2Kword = 4Kbyte,所以2M的Nor Flash共有512个sector
#define CONFIG_ENV_ADDR            (CONFIG_SYS_FLASH_BASE + 0x040000) //暂设置环境变量的首地址为0x040000(即:256Kb)

 

然后添加对我们mini2440开发板上2M的Nor Flash(型号为SST39VF1601)的支持。在u-boot中对Nor Flash的操作分别有初始化、擦除和写入,所以我们主要修改与硬件密切相关的三个函数flash_init、flash_erase、write_hword,修改代码如下:

#gedit board/samsung/my2440/flash.c

//修改定义部分如下:

//#define MAIN_SECT_SIZE   0x10000
#define MAIN_SECT_SIZE     0x1000  //定义为4k,刚好是一个扇区的大小

//#define MEM_FLASH_ADDR1  (*(volatile u16 *)(CONFIG_SYS_FLASH_BASE + (0x00000555 << 1)))
//#define MEM_FLASH_ADDR2  (*(volatile u16 *)(CONFIG_SYS_FLASH_BASE + (0x000002AA << 1)))
#define MEM_FLASH_ADDR1    (*(volatile u16 *)(CONFIG_SYS_FLASH_BASE +(0x00005555 << 1)))  //这两个参数看SST39VF1601手册      
#define MEM_FLASH_ADDR2    (*(volatile u16 *)(CONFIG_SYS_FLASH_BASE +(0x00002AAA << 1)))

 

//修改flash_init函数如下:
#elif defined(CONFIG_AMD_LV800)
            (AMD_MANUFACT & FLASH_VENDMASK) |
            (AMD_ID_LV800B & FLASH_TYPEMASK);
#elif defined(CONFIG_SST_39VF1601)   //在CONFIG_AMD_LV800后面添加CONFIG_SST_39VF1601         
            (SST_MANUFACT & FLASH_VENDMASK) |
            (SST_ID_xF1601 & FLASH_TYPEMASK);

for (j = 0; j < flash_info[i].sector_count; j++) {
    //if (j <= 3) {
    //    /* 1st one is 16 KB */
    //    if (j == 0) {
    //        flash_info[i].start[j] = flashbase + 0;
    //    }

    //    /* 2nd and 3rd are both 8 KB */
    //    if ((j == 1) || (j == 2)) {
    //        flash_info[i].start[j] = flashbase + 0x4000 + (j - 1) * 0x2000;
    //    }

    //    /* 4th 32 KB */
    //    if (j == 3) {
    //        flash_info[i].start[j] = flashbase + 0x8000;
    //    }
    //} else {
    //    flash_info[i].start[j] = flashbase + (j - 3) * MAIN_SECT_SIZE;
    //}

    flash_info[i].start[j] = flashbase + j * MAIN_SECT_SIZE;
}

 

//修改flash_print_info函数如下:   

case (AMD_MANUFACT & FLASH_VENDMASK):
    printf ("AMD: ");
    break;
case (SST_MANUFACT & FLASH_VENDMASK):    //添加SST39VF1601的
    printf ("SST: ");
    break;

case (AMD_ID_LV800B & FLASH_TYPEMASK):
    printf ("1x Amd29LV800BB (8Mbit)n");
    break;
case (SST_ID_xF1601 & FLASH_TYPEMASK):   //添加SST39VF1601的
    printf ("1x SST39VF1610 (16Mbit)n");
    break;

 

//修改flash_erase函数如下:
//if ((info->flash_id & FLASH_VENDMASK) !=
// (AMD_MANUFACT & FLASH_VENDMASK)) {
//    return ERR_UNKNOWN_FLASH_VENDOR;
//}
if ((info->flash_id & FLASH_VENDMASK) !=
 (SST_MANUFACT & FLASH_VENDMASK)) {
    return ERR_UNKNOWN_FLASH_VENDOR;
}

///* wait until flash is ready */
//chip = 0;
//do {
//    result = *addr;
//    /* check timeout */
//    if (get_timer_masked () >
//     CONFIG_SYS_FLASH_ERASE_TOUT) {
//        MEM_FLASH_ADDR1 = CMD_READ_ARRAY;
//        chip = TMO;
//        break;
//    }

//    if (!chip
//     && (result & 0xFFFF) & BIT_ERASE_DONE)
//        chip = READY;

//    if (!chip
//     && (result & 0xFFFF) & BIT_PROGRAM_ERROR)
//        chip = ERR;
//} while (!chip);

//MEM_FLASH_ADDR1 = CMD_READ_ARRAY;

//if (chip == ERR) {
//    rc = ERR_PROG_ERROR;
//    goto outahere;
//}

//if (chip == TMO) {
//    rc = ERR_TIMOUT;
//    goto outahere;
//}
while (1)
{
    if ((*addr & 0x40) != (*addr & 0x40))
        continue;

    if (*addr & 0x80)
    {
        rc = ERR_OK;
        break;
    }
}

 

//修改write_hword函数如下:
MEM_FLASH_ADDR1 = CMD_UNLOCK1;
MEM_FLASH_ADDR2 = CMD_UNLOCK2;
//MEM_FLASH_ADDR1 = CMD_UNLOCK_BYPASS;
MEM_FLASH_ADDR1 = CMD_PROGRAM;   
//*addr = CMD_PROGRAM;
*addr = data;

///* wait until flash is ready */
//chip = 0;
//do {
//    result = *addr;
//    /* check timeout */
//    if (get_timer_masked () > CONFIG_SYS_FLASH_ERASE_TOUT) {
//        chip = ERR | TMO;
//        break;
//    }

//    if (!chip && ((result & 0x80) == (data & 0x80)))
//        chip = READY;

//    if (!chip && ((result & 0xFFFF) & BIT_PROGRAM_ERROR)) {
//        result = *addr;

//        if ((result & 0x80) == (data & 0x80))
//            chip = READY;
//        else
//            chip = ERR;
//    }
//} while (!chip);

//*addr = CMD_READ_ARRAY;

//if (chip == ERR || *addr != data)
//    rc = ERR_PROG_ERROR;
while (1)
{
    if ((*addr & 0x40) != (*addr & 0x40)) 
        continue;

    if ((*addr & 0x80) == (data & 0x80))
    {
        rc = ERR_OK;
        break; 
    }
}

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

上一篇:ARM特殊寄存器定义详解——#define A (* (volatile unsigned long *) 0x48000000
下一篇:最后一页

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

推荐阅读最新更新时间:2024-07-18 10:22

S3C2440片上总线(AMBA)的一点理解
最近一直在深入的了解S3c2440的AMBA总线,进展缓慢,大部分时间花在了论文开题上,只能挤出一点时间来搞嵌入式。用了一年的钥匙串坏了,挂钩断了,买了一个新的钥匙串。下午在换钥匙串时,一些小钥匙由于孔太小而钥匙环太粗,无法挂上去;指甲剪也也因为孔太小挂不上去;较大的钥匙倒是没有问题。只把把这些小钥匙和指甲钳挂在旧的钥匙环上,然后旧的钥匙环挂在新的钥匙环上。 说了这么多,这和S3C2440的的AMBA总线有什么关系啊??? 先简单介绍一下AMBA总线规范。ARM公司定义了AMBA(Advanced Microcontroller Bus Architecture)总线规范,它是一组针对基于ARM核的、片上系
[单片机]
对<font color='red'>S3C2440</font>片上总线(AMBA)的一点理解
S3C2440裸板程序设计(无操作系统)的抽象
在嵌入式领域中,几乎所有的设备控制和各种协议控制都在同一个嵌入式CPU当中,非常有利于对CPU Core和设备进行抽象。如果能对CPU Core和设备的各种控制进行抽象,人们在移植OS或者开发驱动程序时就没有必要对CPU进行非常深入的了解,不必要了解某个寄存器的某个位是控制什么的,也没有必要了解怎样初始化某个控制寄存器等等。 在利用控制器编写裸板应用程序时,编程人员只需要了解该控制器的初始化顺序以及初始化的内容而不需要了解初始化的具体细节就能完成应用程序。显然可以大大的提高工作效率,并且对于硬件的具体细节设置是在应用程序中最容易出错的地方,而利用控制器则可以大大的减少出错的可能性。 ARM是功能更加强大的单
[单片机]
RT-Thread在Lan8720a和 lwip基础上移植ntp流程
开发环境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的资源包为0.2.2。以RT-Thread中Lan8720和lwip协议栈的使用文章创建的工程为基础。 新建ntptest.c测试文件,移植以上参考的ntp代码,整理后如下: #include #include #define SERVER_IP 114.67.237.130 #define SERVER_PORT 123 #define TIMEOUT 10 //宏定义 #define NTP_TIMESTAMP_DELTA 2208988800ull //number of seconds between 1900 an
[单片机]
RT-Thread在Lan8720a和 lwip基础上<font color='red'>移植</font>ntp流程
RISC-V移植安卓12.0再进一步:阿里平头哥首次实现AI支持
自去年10月玄铁C910成功兼容安卓系统后,RISC-V与安卓生态的打通再度取得重要进展。北京时间4月20日,在全球芯片联盟(CHIPS Alliance)春季会议上,阿里平头哥公布RISC-V兼容安卓12.0的新进展:玄铁C910上成功运行TensorFlow Lite,首次实现RISC-V在安卓新系统上的AI支持;同时,平头哥集成多项第三方关键组件,为广大RISC-V集成商和开发者成功打样。 (图说:平头哥公布RISC-V兼容安卓12.0最新进展) RISC-V是新兴的CPU指令集架构,安卓(Android)是全球使用最广泛的操作系统之一,两者的深度融合被业界寄予厚望,是极具前瞻性的研究方向,技术挑战很大。此前,平头哥
[嵌入式]
RISC-V<font color='red'>移植</font>安卓12.0再进一步:阿里平头哥首次实现AI支持
为什么微软三星都要移植应用到iOS上
    本文来自太平洋电脑网   一直以来,软件应用都是智能手机上最值得关注的点。得益于远超网页端的用户体验,软件应用已然成为了真正的互联网接入端口。可以说,消费者在软件方面的体验,往往会决定消费者对于其使用的智能手机的看法。   当然,我们所说的体验,一方面是指手机应用能否在智能机上稳定高效的运行。另一方面,就是指智能手机厂商是否在手机上提供独家应用,给消费者独到的体 验。事实上,随着智能手机在硬件性能上无法拉开较大的差距,软件应用大多能保证高效平稳的运行。由此,是否拥有独家应用,已然成为了判定各家手机产品优劣 高低的一个重要标志。   近期,微软为 iOS 平台开发了一款输入法应用,引起了各路科技媒体以及数码爱好者的
[手机便携]
将应用从串行接口移植到USB接口的简便方法
由于可以获得很多支持USB的微控制器和接口器件,所以对嵌入式应用设计工程师而言,没有COM端口并不会带来障碍。选择正确的工具和软件解决方案提供了一条转移到USB的捷径。 硬件补丁程序 对那些需要为基于串行端口的老项目提出快速解决方案的设计工程师来说,最先有吸引力的策略是采用一种补丁系统。 这可通过在嵌入式控制器串行接口与PC机USB连接器之间增加一个定制的USB-UART转换器来实现(图1)。 这些器件通常配有支持各种操作系统的定制驱动程序,完全可以仿真一个标准的串行端口。 图1:与采用大部分USB-UART接口器件相比,兼容USB接口的MCU单芯片解决方案具有更高的性能和更低的成本。 该方法意味着需要重新设计嵌
[单片机]
将应用从串行接口<font color='red'>移植</font>到USB接口的简便方法
ARM_S3C2440中断分析
1.什么是中断 所谓中断,是指CPU在正常运行程序时,由于内部/外部事件或由程序预先安排的事件,引起CPU中断正在运行的程序,而转到为内部/外部事件或为预先安排的事件服务的中断程序中去,服务完毕,再返回去执行刚才被中断的程序。 2.什么是中断优先级 中断优先级是指,中断源被响应和处理的优先等级。设置优先级的目的是为了在有多个中断源同时发出中断请求时,CPU能够按照预定的顺序(如:按事件的轻重缓急处理)进行响应并处理。 3.什么是中断嵌套 中断嵌套是指当CPU正在处理某个中断源即正在执行中断服务程序时,会出现优先级更高的中断源申请中断,为了使更急的中断源及时得到服务,需要暂时中断(挂起)当前正在执行的级别较低的中断服务程序,去处理更
[单片机]
总结一些在LwIP移植的时候体会
在LwIP移植的时候,一开始遇到很多坑,在大家的帮助下都调通了,现在回头看看,总结了一些体会,和大家分享一下: 1. 对RT-Thread的体系结构不熟悉,特别是设备驱动层这块,如果不理解,很可能会出现如下情况: 这是没有添加I2C底层驱动的原因。当时的情况是这样的,我在menuconfig配置环境中,Device Drivers子条目下,打开了I2C的驱动,如下图所示: 我单纯的以为这样就行了,还天真的想着RT-THread真贴心,啥都做好了,唉!Too young too simple! 这个只是做好了I2C设备(总线)的抽象层(BUS层),供应用层调用,跟linux的设备驱动体系类似,这样做的好处在于能统一设备
[单片机]
总结一些在LwIP<font color='red'>移植</font>的时候体会

猜您喜欢

热门资源推荐
热门放大器推荐
更多
  •  none文件自己动手写分布式搜索引擎 (罗刚, 崔智杰)
  •  pdf文件C语言程序设计案例式教程 (黑马程序员)
  •  pdf文件ARM嵌入式系统原理与应用 (王晓峰)
  •  pdf文件电动汽车信息安全网关的设计与实现
  •  控制之美(卷1)——控制理论从传递函数到状态空间
  •  东芝车载步进电机驱动IC <br> TB9120AFTG内置失速检测功能
  •  机器学习的数学理论
  •  控制系统设计指南 第4版
小广播
【收藏学习】人工智能入门必读经典,适合新手!0积分下载
有奖直播报名中|ST25 NFC新产品及应用方案介绍
即日起——08月02日 15:00
elexcon 2024 深圳国际电子展报名通道开启!参与赢京东卡!
时间:8月27日-29日
地点:深圳会展中心(福田展馆)
MPS 隔离式稳压 DCDC 模块——MIE系列,小且不凡!
痛点讨论|你理想中的电源模块是怎样的?活动开始啦~
国产FPGA 安路线下技术交流会(成都站),报名开始啦
会议时间:8月7日(周三)下午12:30-18:00
会议地址:成都原岛酒店
有奖直播报名中|基于英飞凌AIROCTM CYW20829低功耗蓝牙芯片的无线组网解决方案
直播时间:09月25日 14:00
有奖直播 | 德州仪器基于 Arm 的 AM62 处理器简介
直播时间:8月7日(周三)上午10:00
参与福利:2合1保温杯垫、单肩斜挎包、智能数显暖桌垫
Keysight 有奖直播:如何避免损害示波器
直播时间:7月19日(周五)下午14:00
参与福利:蕉下防晒帽、得力螺丝刀套装、手机支架
下载信息娱乐系统精品文章,赢【米家台灯、小米保温杯、米家蓝牙温湿计】,开启MPS汽车技术进阶之旅!
即日起—8月4日
下载白皮书赢好礼:Multi-Die 系统的早期架构性能和功耗分析
活动时间:即日起-2024年8月5日
【收藏学习】人工智能入门必读经典,适合新手!0积分下载
有奖直播报名中|ST25 NFC新产品及应用方案介绍
即日起——08月02日 15:00
elexcon 2024 深圳国际电子展报名通道开启!参与赢京东卡!
时间:8月27日-29日
地点:深圳会展中心(福田展馆)
MPS 隔离式稳压 DCDC 模块——MIE系列,小且不凡!
痛点讨论|你理想中的电源模块是怎样的?活动开始啦~
国产FPGA 安路线下技术交流会(成都站),报名开始啦
会议时间:8月7日(周三)下午12:30-18:00
会议地址:成都原岛酒店
有奖直播报名中|基于英飞凌AIROCTM CYW20829低功耗蓝牙芯片的无线组网解决方案
直播时间:09月25日 14:00
有奖直播 | 德州仪器基于 Arm 的 AM62 处理器简介
直播时间:8月7日(周三)上午10:00
参与福利:2合1保温杯垫、单肩斜挎包、智能数显暖桌垫
Keysight 有奖直播:如何避免损害示波器
直播时间:7月19日(周五)下午14:00
参与福利:蕉下防晒帽、得力螺丝刀套装、手机支架
下载信息娱乐系统精品文章,赢【米家台灯、小米保温杯、米家蓝牙温湿计】,开启MPS汽车技术进阶之旅!
即日起—8月4日
下载白皮书赢好礼:Multi-Die 系统的早期架构性能和功耗分析
活动时间:即日起-2024年8月5日
添点儿料...
无论热点新闻、行业分析、技术干货……
发布文章
推荐内容
热门活动
换一批
更多
报名最后2天 | keysight 如何避免损害示波器
有奖直播 | ST25 NFC新产品及应用方案介绍 报名中
有奖直播报名中|基于英飞凌AIROCTM™ CYW20829低功耗蓝牙芯片的无线组网解决方案
elexcon 2024 深圳国际电子展报名通道开启!参与赢京东卡!
MPS 隔离式稳压 DCDC 模块——MIE系列,小且不凡!痛点讨论|你理想中的电源模块是怎样的?
设计资源 培训 开发板 精华推荐
  • 【下载】LAT1423 Cortex-M核除0操作的报错机制话题
  • 【下载】LAT6024 STM32MP1在Buildroot下如何打patch小结
  • 【下载】LAT1430 如何修改STM32Cube固件包的存储位置
  • 【下载】LAT1425 一种PFC TCM控制模式的实现方式
  • 【下载】LAT1402 TouchGFX 中 MCU 负载的计算过程介绍
  • 【下载】LAT1378 STM32CubeIDE实用技巧之Flash代码填充

最新单片机文章
  • Edge Impulse 将 Microchip 的 SAMA7G54 微处理器集成到其平台中
    Edge Impulse是构建、部署和扩展边缘机器学习模型的领先平台,今天宣布 Microchip Technology 的 SAMA7G54 微处理器 (MPU) 现已完 ...
  • S3C2440 gpio
    WATCHDOG TIMER原理图手册举例start S globl_start_start: *关看门狗* *往WTCON(0x53000000)写0* ldrr0,=0x53000000movr1, 0strr1,[r0]@s ...
  • S3C2440之IIC裸机驱动
    花了两天的时间终于把这个搞定了,其实I2C的原理还是比较简单的,只是几个细节性的东西还是需要特别的注意,主要是需要注意一下几点:1 rII ...
  • Uboot S3C2440 BL1 的流程
    1 reset 中断向量表2 进入reset (1)设置svc32模式 (2)flash I D caches (3)disable MMU和cache (4 ...
  • S3C2440串口通信基本功能的代码
    功能:将通过串口接收到的内容再发送出去,在PC机上看到的现象就是在串口通信软件中输入什么就会实时地显示什么。主文件:serial c1 最 ...
  • uboot在s3c2440上的移植(2)
  • ARM特殊寄存器定义详解——#define A (* (volatile unsigned long *) 0x48000000
  • 对s3c2440、s3c2410的存储控制及启动代码的理解
  • 基于openwrt和s3c2440的无线ap实现
何立民专栏 单片机及嵌入式宝典

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

  • 《单片机与嵌入式系统应用》历年文章目录
  • 物联网时代的嵌入式系统机遇
  • 从嵌入式系统视角看物联网
更多精选电路图
  • 低成本有源FM放大器电路
  • 基于2N3055的晶体管功率放大器电路
  • 基于NE555定时器的电子蜂鸣器电路
  • 一个简单的太阳能电池充电器电路
  • 基于LH0032构建的视频放大器电路
  • 可提供40瓦/8欧姆功率的A类放大器电路
换一换 更多 相关热搜器件
  •  AS5510-SO_EK_AB
  •  NJM2831F33-TE1
  •  KDZVTFTR2.7B
  •  54122-114-66-1350RLF
  •  HSME-C197
  •  1N4468
  •  RCL12186R65FKEK
  •  P6KE18CAHE3/73
  •  MF50-8452-FT101W
  •  M83513-22-D02PP
更多热门文章
  • 气动调节阀常见故障及处理
  • MicroPython之LPC1788移植
  • 51单片机 8x8LED点阵屏循环显示数字0~9
  • 先楫半导体:HPM6000系列RISC-V通用MCU产品填国内高端MCU空白
  • Tiny4412中断之看门狗
  • Omdia:三星电子连续16年销量位居全球电视市场首位
  • keil_提示出错 cannot load flash programming algorithm !
  • 基于89C51时钟电路的设计与制作
  • 如何利用视觉处理器在可视门铃和智能零售设计中扩展边缘 AI 功能
  • 基于Keil C51 集成开发环境的仿真与调试
更多每日新闻
  • 国家千亿资金支持,“车路云”迎爆发式增长
  • 特斯拉固态电池新突破:一撮苏打粉,解决电池寿命问题
  • 不只「卷」算力!舱驾融合+AI赋能,智能座舱4.0时代来了
  • SGS利用MVG天线测试系统实现快速汽车天线测试
  • 车规级的定义域标准详解
  • 6月动力电池市场:增长趋势放缓
  • 汽车芯片设计中如何解决散热的问题?
  • 佛瑞亚海拉与奥迪联合创新,为Q6 e-tron匠心打造数字化前照灯概念
  • 瞄定中国市场,迈来芯产业链加速向本土转移
  • 95亿!这一固态电池产业园即将开建
更多往期活动
  • Follow me第二季第1期来啦!与得捷一起解锁【Adafruit Circuit Playground Express】超能力!
  • TI LM3S811 分组DIY,火热进行中......
  • 高性能手机设计如何实现?手机高校评估研讨会为您揭晓答案!
  • 免费试用Atmel MCU开发板,抢“鲜”体验优越性能,更有大奖等你拿!
  • 老T叔的藏书阁——一位老工程师多年的资料积累
  • ADI生命体征技术助力高性能便携和穿戴医疗设备,答题有好礼
  • 泰克示波器旅行指南 更高带宽、更低噪声、更多通道
  • 泰克直播:你真的了解示波器吗?
厂商技术中心

TI 技术论坛

TI 在线培训

Qorvo 射频技术研习社

随便看看
  • Stellaris是什么东东
  • FFT结果出错
  • 情有独钟,迷情电子三五年(一)
  • 编程写一个函数int Func的实例
  • 学习板教程 第三课——8*8点阵
  • 关于DSP对双口RAM寻址的问题
  • DIY一个耳放,用手头的OPA227
  • 关于现有廉价工程电源的分析
  • 什么是频域?为什么它对 RF 设计、分析和测试如此重要?
  • 推荐全国最实用的2410开发板

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

站点相关: 综合资讯 51单片机 PIC单片机 AVR单片机 ARM单片机 嵌入式系统 汽车电子 消费电子 数据处理 视频教程

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

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

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

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

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

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

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

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