STM32与S3C2440的区别

STM32与S3C2440的区别在学习嵌入式的路上,我们可能会接触到这两个比较典型的MCU。其中最大的区别就是S3C2440能跑linux操作系统,常常作为学习嵌入式linux的硬件平台。可能大家会问既然S3C2440能跑linux操作系统,似乎比stm32厉害多了,为什么不直接去学习S3C2440呢?下面我就大概解释一下大家遇到的困惑:1.先来说说stm32stm32是ST公司推出的基于Cortex-M3内核的

大家好,又见面了,我是你们的朋友全栈君。

在学习嵌入式的路上,我们可能会接触到这两个比较典型的MCU。其中最大的区别就是S3C2440能跑linux操作系统,常常作为学习嵌入式linux的硬件平台。可能大家会问既然S3C2440能跑linux操作系统,似乎比stm32厉害多了,为什么不直接去学习S3C2440呢?
下面我就大概解释一下大家遇到的困惑:

一、stm32(暂时不能跑linux)

stm32是ST公司推出的基于Cortex-M3内核的MCU,stm32最高工作主频为72M,STM32凭借其产品的多样化、极高的性价比、简单易用的开发方式,迅速在Cortex-M3内核MCU中脱颖而出,占领了绝大部分中高端MCU市场。对于处理一些简单的事件这种处理器完全够用,编程简单,硬件电路设计也很简单,价格也十分经济。

二、S3C2440(能跑linux系统)

S3C2440A 是三星公司推出的16/32位精简指令集(RISC)微型处理器,它基于ARM v9系列的ARM920T核心,主要为手持设备和普通应用提供了低功耗的高性能的小型芯片微型控制器的解决方案。

S3C2440A 的突出特点是其处理器核心,是一个由Advanced RISC Machines(ARM)公司设计的16/32 位ARM920T 的RISC 处理器。ARM920T 实现了MMU,AMBA 总线和哈佛结构高速缓冲体系结构。这一结构具有独立的16KB 指令高速缓存和16KB 数据高速缓存。每个都是由具有8 字长的行(line)组成。

综合对芯片的功能描述,S3C2440A 集成了的以下片上功能:

● 1.2V 内核供电, 1.8V/2.5V/3.3V 储存器供电, 3.3V 外部I/O 供电,具备16KB 的指令缓存和16KB 的数据缓存和MMU的微处理器

● 外部存储控制器(SDRAM 控制和片选逻辑)

● LCD 控制器(最大支持4K 色STN 和256K 色TFT)提供1 通道LCD 专用DMA

● 4 通道DMA 并有外部请求引脚

● 3 通道UART(IrDA1.0, 64 字节发送FIFO 和64 字节接收FIFO)

● 2 通道SPI

● 1 通道IIC 总线接口(支持多主机)

● 1 通道IIS 总线音频编码器接口

● AC’97 编解码器接口

● 兼容SD 主接口协议1.0 版和MMC 卡协议2.11 兼容版

● 2 通道USB 主机/1 通道USB 设备(1.1 版)

● 4 通道PWM 定时器和1 通道内部定时器/看门狗定时器

● 8 通道10 位ADC 和触摸屏接口

● 具有日历功能的RTC

● 摄像头接口(最大支持4096×4096 像素输入;2048×2048 像素输入支持缩放)

● 130 个通用I/O 口和24 通道外部中断源

● 具有普通,慢速,空闲和掉电模式

● 具有PLL 片上时钟发生器

三、二者的区别

1、

mcu架构不相同,stm32没有mmu只能跑uclinux之类的操作系统,而S3C2440可以跑linux系统。

嵌入式大体可以分三大部分:硬件电路、驱动程序、应用开发。电路不用说了基本就是元件pcb焊接,驱动程序处于中间部分是最难的,和硬件直接相关,内核级调试也是难点。一般的你买个开发板着两个部分都已经包括了,别人都给你做好了,其实这里面的门道很大。

有了驱动程序应用程序面对的就是操作系统级编程了,这部分和你在pc上用gcc差别不大.不然要操作系统做什么呢.
对了还有一个内核移植,其实就是把所有的内核代码按你的定制重新编译成能在你的U上运行的内核…

2、

问:
还有一个问题,希望你给我解答解答。是不是说S3C2440要比STM32功能要强?如果是这样是不是STM32能做的S3C2440也都能实现。如果我现在学好了单片机,是不是直接可以买个S3C2440开发板学习嵌入式呢?
答:
另外还有一个误区就是cpu快了就什么功能都能实现了,其实这是不对的.带mmu的可以虚拟内存,更适合多道程序运行多任务处理,但很遗憾不是用在哪里都合适的。

举个例子:嵌入式往往针对某一特殊需求而设计,比如你要设计制作一台高速存储示波器,那么前端的模拟放大和ad转换是很关键的部分,假设你希望有1G的输入带宽,没有哪个cpu会有如此高的AD采样速度(片上能到10M已经不容易了),只有使用单独的高速AD专用芯片再加上模电的一些小技巧才能实现。这个系统里cpu做什么呢,基本上就是维护界面和存储,界面不会太复杂,能在液晶上画图显示几个数就行了,基本不需要window窗口什么什么的,多任务也不需要。存储的部分你可能会想我的系统内存多能派上用场,错了,假设你希望存储10分钟的原始数据你可以算算这个数据量非常庞大,内存根本用不上,最好的办法就是通过dma直写高速sd卡。最后还剩下什么事情可做呢就是驱动几个按键和lcd,顶多再加个通讯什么的,这时候你会选哪个cpu呢,当然是能完成设计有最便宜最简单的那个。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132489.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月30日 下午8:20
下一篇 2022年4月30日 下午8:20


相关推荐

  • 怎么开外汇平台_如何搭建一个外汇平台

    怎么开外汇平台_如何搭建一个外汇平台外汇市场从世纪之初进入中国,到如今有十几个年头。从起初耳熟能详的几个平台商到现在如雨后春笋般出现,中国的外汇市场越来越开放,价格成本也越来越透明。很多外汇代理商不断发展壮大,对搭建自己的平台有了需求。开外汇平台赚钱,是一个普遍流传的说法。但是开平台到底有怎么样的风险,需要注意哪些环节,要办理哪些手续,多数人还是感到非常神秘。汇商琅琊榜小编今天结合平台搭建行业资深人士的经验,来和大家谈谈怎么样搭建…

    2025年10月25日
    5
  • ISO 27001解读(一)管理思路

    ISO 27001解读(一)管理思路ISO27001 什么是 ISO27001 ISO27001 是信息安全管理系统 ISMS 的国际标准 它提供了用于风险评估 安全性设计和实施以及安全性管理的模型 ISO27001 标准指定了实施和管理指南 以帮助确保您的数字和书面信息的安全 ISO27001 是信息安全管理系统的唯一国际可审核标准 它提供独立保证 确保您的组织符合包含敏感信息的法律 法规 法规和合同要求 获得 ISO2

    2026年3月17日
    1
  • virus.win32.parite.h病毒查杀

    virus.win32.parite.h病毒查杀virus.win32.parite.h病毒查杀第一步,病毒不会无缘无故的出现,一般是有病毒下载器(通常蛰伏在流氓软件中),或者是有后门病毒将这些病毒下载下来。用优化大师或金山或360都行,流氓软件清除工具(360插件扫描和***查杀中部分选项,注意不要一下子处理威胁,要选择流氓软件、后门项目处理)第二步,要下载两个专杀(绿盟有打包的,也可以自己一个个找)1、北信源Win32…

    2022年7月25日
    12
  • 查看 Python 版本

    查看 Python 版本文章目录 1 概述 2 查看方式 2 1Window 命令行 2 2Python 交互模式 2 3Pycharm 中 1 概述 mermaid svg PRifc1boaO7G label font family trebuchetms verdana arial font family var mermaid font family fill 333 color 333 mermaid svg PRifc1boaO7G labeltext fill 333 m

    2026年3月20日
    2
  • Vue结合vant框架实现通讯录a-z排序

    Vue结合vant框架实现通讯录a-z排序显示效果实现的文件有 工具 convertToPin js 页面 friends vue 代码 friends vue 主要代码参考 selectFriend 方法调取数据成功后的信息过滤 说明 1 其中组件 NavBar Toast Button Cell CellGroup 我已在 main js 中全局注册 若单独使用请在 vue 页面中配置 如何配置可参考 vant 官网 提示 在 main js 中进行全局注册 引入组件 然后使用 Vue component Cell name Cell 对导入的组件进

    2026年3月16日
    2
  • 0基础如何自学软件编程开发

    0基础如何自学软件编程开发0基础如何自学软件编程开发?学习软件编程首先需要选择一门编程语言,如C或JAVA语言,作为基础编程语言学习,掌握语言的逻辑,学习语法,其实编程实质上就是思路的运用,编程思路有了再想学习其他的编程语言就会变得顺风顺水。软件编程开发,对于现在的学生来讲到底有多重要呢?现在是互联网快速发展的时期,在几年前谁都没有想到人们在手机上就可以完成衣食住行等所有的活动,互联网也在慢慢的改变着未来一代人。互联网广泛覆盖了我们的生活,真正实现了“远在天边,近在眼前”,在我们的生活工作中都有互联网存在的身影,随着IT行业的越

    2022年5月7日
    79

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号