RISC-V

方案解读:为什么要选择LPC55系列做电竞鼠标键盘

大憨熊 提交于 2020-12-05 10:51:49
电竞 一词越来越热,农药、LOL、吃鸡不但在手游端大热无比,PC端也是热的发紫,电竞奥运会也指日可待。 随之而来的是电竞类的键盘、鼠标以及耳麦的热销。玩家拼手速的时代要求着键盘鼠标USB Report Rate的提高,不然王者般的手速到了USB发送报告给PC或者手机的时候由于带宽不够,物理上形成了中年人手速的结果,可就不好了。 客户有刚需,我们就有解决方案,NXP的代理商就推出了电竞键盘鼠标耳麦三合一的方案。本文就来说说LPC5500系列为啥适合此类应用。 电竞设备对MCU的要求 分析下电竞类的应用对MCU的要求: 第一要求对按键的响应要快速,支持光学传感器的高采样率 第二对USB Report Rate要极高 第三MCU要有低功耗的概念 第四是能够支持各种灯效,满足光污染和性能提升的要求 第五针对耳机应用,最好能支持多声道的I2S 第六是最关键的,能过通过各种USB兼容性的测试。 LPC5500系列特色 LPC5500系列产品针对以上需求,形成了自己家族化的产品,从低端的LPC551x系列,到中端需求的LPC552x系列,再到高端的LPC556x系列。来满足此类应用的高中低端的需求,形成一套软件架构打天下。 LPC5500家族功能表: 特色功能分析: LPC5500引入了高速USB的接口,可以让产品轻松打到2k Report Rate的速率,满足年轻人电竞手速的要求。

嘉楠科技:云上的AI芯片设计之旅

人盡茶涼 提交于 2020-12-04 23:45:41
嘉楠科技成立于2013年,同年发布了全球首款基于ASIC芯片的区块链计算设备,引领行业进入ASIC时代,自此逐步积累了丰富的芯片量产经验。 2016年,16nm产品量产标志着嘉楠科技成为中国大陆地区先进制程首个阵营的公司。2018年至今,嘉楠科技相继实现全球首个基于自研的7nm芯片量产,以及量产基于RISC-V自研商用边缘智能计算芯片勘智K210。其中,作为AI神经网络加速器的KPU完全依托于自主研发。 目前,嘉楠科技已实现月均上千万颗芯片的量产,产品和服务遍布全球60多个国家和地区,在美国、加拿大、瑞典、冰岛、波黑、马来西亚、韩国、俄罗斯、亚美尼亚和香港等国家和地区均建立了良好的客户群基础。 未来,嘉楠科技将在芯片研发和高性能计算的基础上,协同业务伙伴推动AI在各领域的普惠化进程,通过AI让生活更美好。 面临的挑战 随着半导体制程工艺的逐步演进,现代芯片设计行业越来越依赖于各种各样的电子设计自动化(EDA, Electronic Design Automation)工具软件来辅助设计人员工作。但是在真实的生产实践中,嘉楠科技发现这些设计工具软件对于企业IT基础设施的要求近乎苛刻。如果投入大量人力物力自建数据中心尝试解决这些问题,往往会带来设计工作之外的额外负担。 首先,在芯片设计的不同阶段,设计人员需要用到不同的工具软件,但是不同的工具软件对于IT基础设施的特性要求不尽相同

你的MCU串口丢过数据包吗?

拈花ヽ惹草 提交于 2020-12-02 22:12:08
串口在我印象中是从来不会丢包的,那是因为以前都是用的厂家提供的SDK,现在用MCU裸板开发,自己做驱动,如果驱动没做好,就会丢包。 今天来总结两个串口驱动层的丢包问题,一个是发数据丢包,即实际发出的数据比预期发的少;一个是收数据丢包,即实际收到的数据比对端发出的数据少。 1、发数据丢包 调试过程发现,当应用层连续两次调用驱动层的串口发数据接口去发数据时,对端wifi板收到的数据会比发出的少了1byte!这么诡异的问题,是不是wifi板驱动层有问题?因为毕竟自己写的代码总觉得是那么完美哈哈哈,然而wifi板是厂家提供的SDK,经过市场验证很久了,大概率不会有bug。 先来了解一下MCU这边串口发数据的过程,用的是51内核的某款芯片。 用户要用串口发数据时,把一个发送数据寄存器置1(即设置TI =1),然后底层会自动产生发数据的中断, 在发数据中断服务函数中,用户要做的是: 1、 把TI 清零,即TI =0; 2、 把要发的数据装载到数据寄存器(SBUF),每次只能装载1个byte。 串口的发送器就开始发送数据,当1byte数据发送完成时,硬件会自动把TI置1,再次产生写数据中断,在写数据中断里用户继续重复刚刚的操作。 那么数据发送是怎么结束的?当某次进入发数据中断,用户把TI清零,没有再往数据寄存器装载数据时,就不会再产生发数据中断,发送过程就结束了。 原来的代码大致如下, /

嵌入式C编程之错误处理(附代码例子)!

爱⌒轻易说出口 提交于 2020-11-29 15:23:30
作者:clover-toeic 原文:https://www.cnblogs.com/clover-toeic/p/3919857.html 前言 本文主要总结嵌入式系统C语言编程中,主要的错误处理方式。文中涉及的代码运行环境如下: 一、错误概念 1.1 错误分类 从严重性而言,程序错误可分为致命性和非致命性两类。对于致命性错误,无法执行恢复动作,最多只能在用户屏幕上打印出错消息或将其写入日志文件,然后终止程序;而对于非致命性错误,多数本质上是暂时的(如资源短缺),一般恢复动作是延迟一些时间后再次尝试。 从交互性而言,程序错误可分为用户错误和内部错误两类。用户错误呈现给用户,通常指明用户操作上的错误;而程序内部错误呈现给程序员(可能携带用户不可接触的数据细节),用于查错和排障。 应用程序开发者可决定恢复哪些错误以及如何恢复。例如,若磁盘已满,可考虑删除非必需或已过期的数据;若网络连接失败,可考虑短时间延迟后重建连接。选择合理的错误恢复策略,可避免应用程序的异常终止,从而改善其健壮性。 1.2 处理步骤 错误处理即处理程序运行时出现的任何意外或异常情况。典型的错误处理包含五个步骤: 程序执行时发生软件错误。该错误可能产生于被底层驱动或内核映射为软件错误的硬件响应事件(如除零)。 以一个错误指示符(如整数或结构体)记录错误的原因及相关信息。 程序检测该错误(读取错误指示符

RISC-V为什么会成为热点?

狂风中的少年 提交于 2020-11-26 14:12:43
作者 | 贸泽电子 Mark Patrick(英国) 译者 | 禾沐 新的处理器指令集架构(ISA)并不会经常出现。加州大学伯克利分校开发的开源RISC-V ISA 已经在嵌入式产业中产生了不小的波澜,项目的目的是让开发者能够设计处理器核和生成对应的软件编译器。目前,该项目由RISC-V基金会运作,成员包括众多大学、跨国科技企业(比如谷歌、IBM、微软、英伟达和甲骨文)、芯片厂商和创业公司。 RISC-V 的目标是从其他处理器ISA的错误中学习,这之中的核心是稳定性,既包括指令集和核心本身,也扩展到芯片设计者、编译器作者、操作系统构架师和开发工具供应商。稳定性让强力的处理器核更加易于获取,并增强其可用性,这对于鼓励更多的工程师在整个生态圈中使用这一开源技术而言非常重要。应用开发者可以针对一个冻结的ISA 进行代码优化,在达到最小的内存使用和功耗的同时保证扩展性和对未来设备的兼容性。这使得处理器核开发者可以开发各种不同的指令集实现,从简单的多级流水线(pipeline)到乱序执行(out of order execution)。它们会有不同的延迟、尺寸和功耗,但是它们相互兼容,而且与生态系统中的工具兼容。 整个生态系统的稳定性对于RISC-V 指令集而言至关重要,在设计时RISC-V 考虑了32/64/128位地址空间并保证三者之间的兼容性;其架构还支持扩展

FreeRTOS中相对延时和绝对延时的区别

不羁的心 提交于 2020-11-25 14:36:56
嵌入式软件代码中延时是很常见的,只是延时种类有很多,看你用什么延时。 嵌入式专栏 1 一个延时的问题 问题: 周期性(固定一个时间)去处理某一件事情。你会通过什么方式去实现? 比如:间隔10ms去采集传感器的数据,然后通过一种算法计算出一个结果,最后通过串口发送出去。 可能对于很多习惯裸机编程的读者,首先想到的是:利用定时器,定时10ms中断,在中断里面处理。 中断函数适合处理简单数据,不适合算法、通信等需要长时间占用CPU的处理。 对计时精度要求比较高的地方适合定时器,像本章节说的周期性采集传感器数据,要求不适合很高,那么就引入本文说的绝对延时。 在实时操作系统FreeRTOS任务中,利用vTaskDelayUntil绝对延时即可完美解决这个问题。 嵌入式专栏 2 相对延时和绝对延时的含义 本文拿FreeRTOS中 相对延时函数vTaskDelay,绝对延时函数vTaskDelayUntil 来说明。 相对延时: 指每次延时都是从执行函数vTaskDelay()开始,直到延时指定的时间(参数:滴答值)结束。 绝对延时: 指每隔指定的时间(参数:滴答值),执行一次调用vTaskDelayUntil()函数的任务。 文字描述可能不够直观理解,下面章节结合代码例子、延时值(IO高低变化波形)、任务执行图来详细讲述一下他们的区别。 嵌入式专栏 3 相对延时和绝对延时区别

官宣!华为断臂为了自救

匆匆过客 提交于 2020-11-19 10:13:01
11月17日,多家企业在《深圳特区报》发布联合声明,深圳市智信新信息技术有限公司已与华为投资控股有限公司签署了收购协议,完成对荣耀品牌相关业务资产的全面收购。 出售后,华为不再持有新荣耀公司的任何股份。 深圳市智信新信息技术有限公司,由深圳市智慧城市科技发展集团与30余家荣耀代理商、经销商共同投资设立,包括天音通信有限公司、苏宁易购集团股份有限公司、北京松联科技有限公司、深圳市顺电实业有限公司、山东怡华通信科技有限公司、深圳冀顺通投资有限公司、河南象之音健康科技有限公司、福建瑞联优信科技有限公司、内蒙古英孚特通讯技术有限公司、哈尔滨金潭科技发展有限公司等。 声明指出,此次收购既是荣耀相关产业链发起的一场自救和市场化投资,能最大化地保障消费者、渠道、供应商、合作伙伴及员工的利益;更是一次产业互补,全体股东将全力支持新荣耀,让新荣耀在资源、品牌、生产、渠道、服务等方面汲取各方优势,更高效地参与到市场竞争中。 声明还称,所有权的变化不会影响荣耀发展的方向,荣耀高层及团队将保持稳定。投资新荣耀的经销商和代理商也承诺:未来只享有财务上的投资回报,在业务侧将遵循公平交易的市场化原则,与其他经销商、代理商享受同等机会。 2013年12月16日,华为打造的互联网手机品牌荣耀正式发布,坚持以互联网创新的轻资产模式。当时,荣耀推出荣耀3C、荣耀3X及华为喵王,成为华为终端发展史上的里程碑事件。

CHIPS Alliance推出基于FuseSoC的SweRVolf系统芯片设计

南笙酒味 提交于 2020-11-11 01:55:42
CHIPS Alliance发 布了一个系统芯片(SoC),使用Western Digital的开源 SweRV 核心和FuseSoC构建工具集构建,称为 SweRVolf 。 https://github.com/chipsalliance/Cores-SweRV https://github.com/chipsalliance/Cores-SweRVolf SweRVolf可以用于在模拟器或FPGA板上运行RISC-V遵从性测试、Zephyr OS或其它软件。SoC由SweRV CPU、引导ROM、DDR2控制器、片上RAM和GPIO组成。 有关SoC的发布、文件和详细信息可以在CHIPS Alliance的GitHub仓库中找到。 CHIPS Alliance 是Linux基金会项目,旨在为不同的以数据为中心的应用程序和工作负载提供灵活的下一代芯片设计。CHIPS Alliance支持者包括阿里巴巴集团、Antmicro、Esperanto Technologies、谷歌、Imperas、Metrics、SiFive和Western Digital,所有都致力于开源硬件和自由开放的RISC-V架构背后的持续动力。 点击文末<<阅读原文>>进入网页了解更多。 Linux 基金会 是非营利性组织,是技术生态系统的重要组成部分。 Linux基金会通过提供财务和智力资源、基础设施

4.关于 CPU 你需要了解的

扶醉桌前 提交于 2020-11-10 07:51:10
我们如果留意的话,可能经常会听到什么 x86/x86_64、ARM、RISC-V 等关键词,但是很多人并不知道指的是什么。比如:Java 程序员在下载官方 JDK 时,如果对这个概念不了解的话,只知道选 x64 那个东西下载就好,其他一脸懵逼。所以有必要了解一下 CPU 的相关知识。 这篇主要讲解一下三个知识点: CPU 内部结构 CPU 指令集 SMP 和 NUMA 1.CPU 内部结构 CPU 内部有很多组件,比如 MMU/TLB 等,但是主要的部件主要有三类: 控制单元、存储单元、运算单元 。 控制单元由程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)等控制器组成 ,很多同学应该对程序计数器(PC)比较耳熟。控制单元主要功能有: 从内存中获取指令 对指令进行译码,译码得到电气信号用来控制 CPU 的操作 控制 CPU 与内存的数据流动 运算单元主要部件是算术逻辑单元(ALU) 。控制单元会将对应的数据输入到这个部件,让它进行数据的运算。它能支持的运算主要是 加减乘除、移位、逻辑 。 存储单元它主要 用来暂时存放 cpu 将要获取的数据或者刚产生的数据 ,它由 专用寄存器和通用寄存器 两个部分组成。通用寄存器是可以由程序员进行控制的,一般可用汇编语言来控制。那专用寄存器和通用寄存器都有哪些呢?这个问题就比较专业了,我也记不住那些 AX、BX、CX、DX、BP、SP

OpenOCD用户指南

巧了我就是萌 提交于 2020-11-09 17:28:58
OpenOCD用户指南 简短目录 关于 1 OpenOCD开发人员资源 2调试适配器硬件 3关于Jim-Tcl 4跑步 5 OpenOCD项目设置 6配置文件准则 7服务器配置 8调试适配器配置 9重置配置 10 TAP声明 11 CPU配置 12个Flash命令 13 Flash编程 14个PLD / FPGA命令 15个通用命令 16体系结构和核心命令 17个JTAG命令 18个边界扫描命令 19个实用程序命令 20 TFTP 21 GDB和OpenOCD 22 Tcl脚本API 关于23的常见问题 24 Tcl速成班 附录A GNU自由文档许可证。 OpenOCD概念索引 命令和驱动程序索引 目录 关于 什么是OpenOCD? OpenOCD网站 最新用户指南: OpenOCD用户论坛 OpenOCD用户的邮件列表 OpenOCD IRC 1 OpenOCD开发人员资源 1.1 OpenOCD Git存储库 1.2 Doxygen开发人员手册 1.3 Gerrit审核系统 1.4 OpenOCD开发人员邮件列表 1.5 OpenOCD错误跟踪器 2调试适配器硬件 2.1选择加密狗 2.2独立的JTAG探针 2.3基于USB FT2232 2.4 USB-JTAG / Altera USB-Blaster兼容 2.5基于USB J-Link 2.6基于USB RLINK 2