tag 标签: arm

相关帖子
相关博文
  • 2020-11-17 10:46
    6 次阅读|
    0 个评论
    By Toradex 胡珊逢 在使用嵌入式 Linux 系统的时,会出现由于设备意外断电引起文件系统损坏而最终使该设备无法启动的现象。为了应对这种情况,通常会从硬件设计如采用备用电源,无论是锂电池还是超级电容等,或者从系统软件设上加以规避。本文接下来将介绍如何使用 squashfs 只读文件系统制作 Linux 系统文件,并采用 overlayfs 为用户目录增加可写权限。演示采用 Colibri iMX6 计算机模块,该方法同样也适用于 Toradex 其他产品,如 iMX8 计算机模块。 Squashfs 是一种只读压缩文件系统,通常被用于数据备份或者系统资源受限的计算机系统上使用,如 Linux 发行版的 LiveCD , OpenWRT 系统也采用 squashfs 。 OverlayFS 一个结合其他文件系统的联合挂载,将多个挂载点叠加为一个目录。常见的应用是在一个只读的分区上叠加可读写的另一个分区。嵌入式 Linux 设备通常的功能都是被设计好的,极少需要在后期安装其他软件或更改 Linux 系统软件,更多的是更新设备应用程序和相关数据。因此基于 squashfs 的只读文件系统,结合 overlayfs 为用户应用和数据提供读写操作,能够提高嵌入式 Linux 文件系统可靠性。 在 Colibri iMX6 的 eMMC 上我们将使用以下分区规划。 BootFS 为 FAT32 格式,该分区上包含 Linux 内核文件, device tree 等启动文件,如果是 iMX8 ,则还包含一些其他固件文件。该分区通常只在文件系统烧写阶段被写入。 RootFS 分区是 Linux 运行的文件系统, usr, bin, lib, etc, home 等目录都在上面。一般该分区是 EXT3 , EXT4 格式,支持文件的写入和删除。而文件系统的损坏也常发生于此,最终导致设备启动失败。因此我们这里会采用只读格式的 squashfs 。 UserData 是能够读写的 EXT4 分区。该分区通过 overlayfs 会被挂载到原本位于只读 squashfs 中的 /home/root 目录。用户应用可以毫无察觉得使用该目录,在上面写入和删除文件,但不破坏只读 squashfs 文件系统,所有的操作都会被转移到 UserData 分区上。用户的应用也会存在 UserData 分区上,启动的时候从这里加载应用程序。该分区是可写的,所有这上面的文件是可以被更新。 ​ 下面我们会具体说明如何在 Yocto 环境生成符合上面规划的 BSP ,并通过 Toradex Easy Installer 工具实现这些分区和写入文件。 首先需要在 Yocto 环境中生成 squashfs 格式的系统文件 rootfs 。修改 build/conf/local.conf ,结尾添加以下内容。 ------------------------------------ IMAGE_FSTYPES_append = " squashfs" ------------------------------------ 默认 Linux 内核配置下 squahfs 是通过加载内核驱动模块实现对其支持,而模块驱动文件位于 rootfs 中,为了保证 Linux 内核在启动时能够正确处理该格式,需要将 squahfs 内核驱动模块配置为静态驱动,直接编译进内核中。为内核配置的文件系统支持添加 squahfs 和 overlay 格式。 ------------------------------------ $ MACHINE=colibri-imx6 bitbake -c menuconfig virtual/kernel → File systems Overlay filesystem support → File systems → Miscellaneous filesystems SquashFS 4.0 - Squashed file system support ------------------------------------ EXT4 格式的 UserData 分区会通过 overlay 机制挂载到只读的 rootfs 上的 /home/root ,但这之前需要通过 fstab 将该分区挂载到系统中, /home/root 。在 Yocto 中, layers/meta-toradex-demos/recipes-core/base-files/base-files/fstab 会被编译到 Colibri IMX6 BSP 中,在该文件中添加: ------------------------------------ /dev/mmcblk0p3 /media/data auto defaults,sync,noauto 0 0 ------------------------------------ 然后再添加一个开机自启动脚本,将 /media/data 使用 overlay 挂载到 /home/root 。 在 layers/meta-toradex-bsp-common/recipes-core 目录中添加 mount-overlayfs 文件夹,里面包含编译需要的 bb 文件和 systemd service 。 mount-overlayfs.bb 中 install -d ${D}/media/data 会在 /media 目录中创建 data 文件夹, FILES_${PN} = "/media/data" 将该空文件夹添加到 BSP 中。 mount-overlayfs.service 通过 RequiresMountsFor 保证 /media/data 目录通过 fstab 挂载后才运行。 Overlay 的目录结构如下, lowerdir 为 /home/root upperdir 为 /media/data/home/root/upper , workdir 为 /media/data/home/root/work 。这样应用可以在 /home/root 下直接读写文件, overlayfs 对应用和用户都是透明的。 ------------------------------------ Type=simple ExecStart=/bin/sh -c 'mount -t overlay -o lowerdir=/home/root,upperdir=/media/data/home/root/upper,workdir=/media/data/home/root/work overlay /home/root' ------------------------------------ 在 build/conf/local.conf 中将 mount-overlayfs 添加到 BSP 中。 ------------------------------------ IMAGE_INSTALL_append = " mount-overlayfs" ------------------------------------ 由于 rootfs 是只读格式,无法像之前一样直接在开发板上运行 systemctl 命令添加开机自启动脚本。我们需要像上面一样,在 Yocto 中增加一个 test-app 来开机自动运行位于 UserData 分区(该分区通过 overlay 会被最终挂载到 /home/root 目录)上的测试程序 test 。在 layers/meta-toradex-bsp-common/recipes-core 目录中添加 test-app 文件夹,里面包含编译需要的 bb 文件和 systemd service 。 在 build/conf/local.conf 中将 test-app 添加到 BSP 中。 ------------------------------------ IMAGE_INSTALL_append = " mount-overlayfs test-app" ------------------------------------ 至此我们已经通过修改 Yocto 能够生成所需结构的 BSP ,执行下面命令完成编译任务。 ------------------------------------ $ MACHINE=colibri-imx6 bitbake tdx-reference-minimal-image ------------------------------------ 在 build/deploy/images/colibri-imx6 有相关文件生成,我们需要下面两个文件,文件名字中的时间戳对应具体编译的日期。 Colibri-iMX6_Reference-Minimal-Image-Tezi_5.1.0-devel-20201112022057+build.0.tar Colibri-iMX6_Reference-Minimal-Image.rootfs.squashfs 解压 Colibri-iMX6_Reference-Minimal-Image-Tezi_5.1.0-devel-20201112022057+build.0.tar 。因为 rootfs 是 squahfs 格式,需要使用定制的 boot.src 来启动。 ------------------------------------ $ cd ~/ $ tar vxf Colibri-iMX6_Reference-Minimal-Image-Tezi_5.1.0-devel-20201112022057+build.0.tar $ cd Colibri-iMX6_Reference-Minimal-Image-Tezi_5.1.0-devel-20201112022057+build.0 $ tar vxf Reference-Minimal-Image-colibri-imx6.bootfs.tar.xz ------------------------------------ 修改其中的 emmcargs_set 参数。 ------------------------------------ env set emmcargs_set 'env set rootfsargs root=/dev/mmcblk0p2 rootfstype=squashfs ro rootwait' ------------------------------------ 可以使用该 boot.cmd 直接生成对应的 boot.src, 替换解压目录中同名文件 , 重新打包 Reference-Minimal-Image-colibri-imx6.bootfs.tar.xz ------------------------------------ $ cd Reference-Minimal-Image-colibri-imx6.bootfs $ rm boot.src $ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Distro boot script" -d boot.cmd boot.scr $ cd .. $ tar cJf Reference-Minimal-Image-colibri-imx6.bootfs.tar.xz -C Reference-Minimal-Image-colibri-imx6.bootfs . ------------------------------------ 将 squashfs 的 rootfs 文件系统复制到 Colibri-iMX6_Reference-Minimal-Image-Tezi_5.1.0-devel-20201112022057+build.0 目录中。 ------------------------------------ $ cp Colibri-iMX6_Reference-Minimal-Image.rootfs.squashfs Colibri-iMX6_Reference-Minimal-Image-Tezi_5.1.0-devel-20201112022057+build.0 ------------------------------------ 接下来创建需要复制到 UserData 分区中的文件。如上面提到的 overlay 挂载需要有对应目录结构,依次创建以下目录,并将测试程序 test 复制到 upper 目录中。这里的测试程序 test 是一个非常简单的 C 应用,它会输出“ Hello Toradex! ”到系统日志中。 ------------------------------------ $ cd ~/Colibri-iMX6_Reference-Minimal-Image-Tezi_5.1.0-devel-20201112022057+build.0 $ mkdir rootfs $ cd rootfs $ mkdir -p home/root/upper $ mkdir -p home/root/work $ cp ~/test home/root/upper $ tree ------------------------------------ 打包为 rootfs.tar.xz 。 ------------------------------------ $ cd .. $ sudo tar cJf rootfs.tar.xz -C rootfs . ------------------------------------ 修改 image.json 文件,在 blockdevs 中增加 RAW 格式分区用于直接写入 squashfs 系统文件,以及 EXT4 格式的 DATA 分区用于写入上面生成的 rootfs.tar.xz 。 Colibri-iMX6_Reference-Minimal-Image-Tezi_5.1.0-devel-20201112022057+build.0 目录下最终包含以下文件。 将上面的 BSP 通过 Toradex Easy Installer 重新安装到 Colibri iMX6 上,安装的时候注意需要点击 Erase 擦除 eMMC 上的内容。 烧写后重启模块。可以通过 mount 命令查看挂载分区的情况。 ------------------------------------ root@colibri-imx6:~# mount /dev/mmcblk0p2 on / type squashfs (ro,noatime) …… /dev/mmcblk0p3 on /media/data type ext4 (rw,relatime,sync) overlay on /home/root type overlay (rw,relatime,lowerdir=/home/root,upperdir=/media/data/home/root/upper,workdir=/media/data/home/root/work) ------------------------------------ mmcblk0p2 为写入 squashfs 只读文件系统的分区,例如在 /etc 目录无法创建文件。 ------------------------------------ root@colibri-imx6:/etc# mkdir test-folder mkdir: can't create directory 'test-folder': Read-only file system ------------------------------------ EXT4 格式的 /dev/mmcblk0p3 分区上是用户文件,被挂载到 /media/data 。而 /home/root 会通过 overlay 具有可读写权限。 ------------------------------------ root@colibri-imx6:~# cd ~/ root@colibri-imx6:~# pwd /home/root root@colibri-imx6:~# mkdir test-folder root@colibri-imx6:~# ls test test-folder root@colibri-imx6:~# ls -lh -rwxrwxr-x 1 1000 1000 11.3K Nov 11 2020 test drwxr-xr-x 2 root root 4.0K Feb 7 16:25 test-folder ------------------------------------ 位于 UserData 上的测试程序 test 也在开机的时候自动运行。 ------------------------------------ root@colibri-imx6:~# journalctl -u test-app -- Logs begin at Fri 2020-02-07 15:50:53 UTC, end at Fri 2020-02-07 16:11:49 UTC. -- Feb 07 15:50:57 colibri-imx6 systemd : Started start a demo on overlay mount folder. Feb 07 15:50:57 colibri-imx6 test : Hello Toradex! Feb 07 15:50:57 colibri-imx6 systemd : test-app.service: Succeeded. ------------------------------------ 总结 上面我们演示结合使用 squashfs 和 overlay ,将系统文件放在一个只读分区,把读写操作在单独的分区上进行。降低系统文件因意外断电受损从而导致无法启动的风险。在使用只读 squashfs 只读文件系统时需要保证 rootfs 尽量精简,建议在 Reference-Minimal-Image 基础上构建用户自己的 BSP ,甚至对其进行裁剪。
  • 热度 10
    2020-9-30 15:13
    1370 次阅读|
    1 个评论
    By Toradex 胡珊逢 1). 简介 通常当编译 Linux 、 U-Boot 相关源代码时,由于编译工具或者文件系统限制,这些任务需要在 Linux 发行版中完成,如常见的 Ubuntu 、 Fedora 、 Linux Mint 、 Arch Linux 等。在电脑安装双系统,或者虚拟机,是使用 Linux 发行版的主要方式。 Windows 推出的 WSL ( Windows Subsystem for Linux )则提供了另外一种方式来使用 Linux 系统。本文接下来将介绍如何在 Windows 10 电脑上使用 WSL 来编译使用 NXP iMX8 ARM 平台的 Linux 、 U-Boot 和 Device tree overlays 。 本文所演示的 ARM 平台来自于 Toradex 基于 NXP iMX8QM ARM 处理器的 Apalis iMX8QM ARM 嵌入式平台。 2). 编译流程 WSL 有两个版本,这里我们将使用 WSL 2 。在开始安装 WSL 之前,推荐先安装 Windows Terminal 。这是微软新推出的终端工具,可以很好的兼容 WSL 。并且还直接集成了一些 Linux 的命令工具,如 ssh 、 scp 。 WSL 具体的安装方法请参考微软官方的适用于 Linux 的 Windows 子系统安装指南 (Windows 10) 。安装完毕后我们将使用 Ubuntu-20.04 为例进行编译演示。 打开 Windows Terminal 点击标签页旁边的 + ,可以看到刚才安装的 Ubuntu-20.04 WSL 已经自动出现在其中。点击后即可启动 Ubuntu 。目前的 WSL 还不支持图形,所以接下来的操作会在 Windows Terminal 以命令行的形式完成。 进入 Ubuntu-20.04 WSL 后,命令操作的形式和通常的 Ubuntu 没有区别。首先安装一些编译所需的软件。 sudo apt update sudo apt install make bison flex sudo apt install build-essential sudo apt install libncurses-dev sudo apt install libssl-dev 交叉编译工具 gcc 的安装可以通过两种形式。在 Ubuntu-20.04 WSL 中通过 wget 等命令直接下载。另外还可以在 Windows 电脑上通过浏览器下载,然后使用 Windows 的文件浏览器直接访问 Ubuntu-20.04 WSL 的文件系统,将编译工具复制进去。交叉编译工具的选择可以参考 这里 。 在文件浏览器中输入 \\wsl$\ ,其会显示电脑上可以用的 WSL 实例文件系统。例如将适用于 Apalis iMX8QM Linux BSP 5.0 的 gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu.tar.xz 复制到 Ubuntu-20.04/home/ben 目录下。 重新回到 Windows Terminal 命令行终端,解压该工具,并设置环境变量。 tar vxf gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu.tar.xz export ARCH=arm64 export DTC_FLAGS="-@" export PATH=/home/ben/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/:$PATH export CROSS_COMPILE=aarch64-none-linux-gnu- 使用 git 工具下载 Linux 、 U-Boot 源码。 git config --global user.name "XXX" git config --global user.email your_email git clone -b toradex_imx_v2020.04_5.4.24_2.1.0 git://git.toradex.cn/u-boot-toradex.git git clone -b toradex_5.4-2.1.x-imx git://git.toradex.cn/linux-toradex.git git clone -b toradex_5.4-2.1.x-imx git://git.toradex.cn/device-tree-overlays.git 详细的编译步骤和说明可以参考我们开发者中心的相关 网页说明 。 例如编译 U-boot make apalis-imx8_defconfig &1 | tee build.log 例如编译 Linux 和 device tree make defconfig &1 | tee build.log make DTC_FLAGS="-@" freescale/fsl-imx8qm-apalis-ixora-v1.1.dtb 编译 Device tree overlays cpp -nostdinc -I ../../linux-toradex/arch/arm64/boot/dts/freescale -I ../../linux-toradex/include -undef -x assembler-with-cpp apalis-imx8_atmel-mxt_overlay.dts apalis-imx8_atmel-mxt_overlay.dts.preprocessed dtc -@ -Hepapr -I dts -O dtb -i ../../linux-toradex/arch/arm64/boot/dts/freescale -o apalis-imx8_atmel-mxt_overlay.dtbo apalis-imx8_atmel-mxt_overlay.dts.preprocessed 当这些都编译好以后,生成的文件都可以通过文件浏览器将其复制出来。 在完成编译工作后, Windows Terminal 命令行终端输入 exit 命令即可退出 WSL ,但其仍在后台运行。通过以下命令来查看仍在运行的 WSL 实例,并将其关闭。 wsl --list --running 适用于 Linux 的 Windows 子系统分发版 : Ubuntu-20.04 ( 默认 ) wsl --terminate Ubuntu-20.04 3). 总结 借助 WSL 运行 Linux 发行版,为 Linux 开发人员提供一种简便的方式,免去双系统的切换,或者安装庞大的虚拟机系统。 WSL 是直接运行在 CPU 上,避免了虚拟化技术的开销。目前该技术也有限制,如 WSL 还无法使用图形界面,从而使得一些需要借助图形化界面 IDE 如 Eclipse 完成的 C/C++ 应用开发还不是很适合。当然网络上也有关于如何在 WSL 安装 X11 并通过远程桌面的方式来开启图形界面的说明,但这会影响到 WSL 的性能。 WSL 的方式比较适合不需要借助图形界面的编译任务,如 make 、 cmake 编译,甚至是 Yocto 编译等。 ​
  • 热度 8
    2020-8-6 16:47
    936 次阅读|
    3 个评论
    半导体供应链纷繁复杂,一起穿过迷雾看本质,找寻发展的钥匙。 工业和科技界也有所谓的“贵族”,今天我们就带着“贵族贵在哪里”这个问题来阅读和思考,同时也可以轻舒一口气,暂不用长篇累牍了,我们可借机回头浏览一下美、日、韩半导体发展简史的关键节点和事件。 欧洲作为工业革命的摇篮,会在信息时代落伍吗? 答案是 不仅不会,而且始终 将 是无法忽略的存在。从 2G 时代的诺基亚、西门子、飞利浦、爱立信手机,到 当今 NXP 、 ST 和英飞凌半导体三巨头,欧洲未曾缺席过。 如今欧洲半导体企业将发展重心聚焦在工业、汽车和物联网技术 上 ,表面 来看 似乎被边缘和波澜不惊,实际上低调的背后暗流涌动, 或许 潜藏着深谋远虑的智慧。 意法半导体( ST , STMicroelectronics )于 1987 年由意大利 SGS 微电子和法国 Thomson 半导体公司合并而成,在电信、汽车、工业和个人电子产品等市场有深厚积累,在 MCU 、 MEMS 、模拟器件和功率器件等领域具有一定优势。 2016 年 ST 收购奥地利微电子公司 (AMS)NFC 和 RFID reader 的资产,以增强安全微控制器解决方案的实力。 创办于 1847 年的 德国 西门子( SIEMENS )是全球电子电气工程领域的领先企业, 1999 年其 半导体部门分拆成立新公司英飞凌,为汽车和工业功率器件、芯片卡和安全应用、传感器、模拟和混合信号、射频等提供半导体和技术方案,其分离器件及模块、电源管理、安全芯片等产品处于领先地位, 2015 年收购 美企 IR (国际整流器, International Rectifier ), 2020 年收购拥有包括微控制器、软件和连接组件等产品组合的 美企 赛普拉斯( Cypress )。 NXP 的源头可以追溯到创办于 1891 年的 荷兰皇家 飞利浦( ROYAL Philips ),该公司经营照明、家电和医疗等多元化产品,半导体业务大约始于 1952 年,是欧洲半导体产业先驱,优势在汽车电子和识别业务, 2006 年 NXP 正式从飞利浦剥离出来, 2015 年收购飞思卡尔( Freescale ),成为车用半导体解决方案与通用微型控制器( MCU )的龙头, 2019 年收购 美企美满( Marvell ,也译迈威) 的 WiFi 和蓝牙业务。 在 欧洲半导体传统 三巨头之外,汽车零部件霸主、成立于 1886 年的博世( Robert Bosch )最新研发的新型碳化硅( SiC )微芯片, 将助力电动车实现质的飞跃,博世是汽车、消费电子、家电 MEMS 产品的领头羊。欧洲半导体产业 紧紧 围绕其长期累积的工业和汽车产业的雄厚基础,各领域有严格的安全 和技术 规范,进入门槛较高,短期内 恐难 复制。 欧洲大陆之外的 英国公司,以杰出的设计能力为欧洲半导体产业增色。 成立于 1990 年的 ARM 公司,是全球领先的半导体知识产权 (IP , Intellectual Property) 供应 商,在数字电子产品的开发中处于核心地位。 ARM 收入靠转让专利和设计方案,这点很像高通,不同的是 ARM 不仅不制造,而且不向用户出售芯片, 这 真的是脑洞大开。 如今 全世界 大约 超过 95% 的智能手机和平板电脑都采用 ARM 架构。 2016 年日本软银收购 ARM ,但总部仍然留在英国剑桥。2020 最新消息, ARM 被英伟达收购的事件正在发酵。另外 还有 2014 年被高通收购的 CSR 公司 ( Cambridge Silicon Radio ,剑桥硅晶无线电), 1998 年成立于剑桥,首创蓝牙接口的单片设计,曾为全球超过 50% 的蓝牙芯片提供设计。而英国 IP 设计厂商 Imagination ,也 曾为苹果供应图像处理器( GPU )。 当然,近几年业界最耀眼的明星是光刻机( Mask Aligner System , 或 Lithography Machine) 巨头 ASML ( Advanced Semiconductor Material Lithography , ASML Holding N.V ,阿斯麦尔 ) ,它 1984 年从飞利浦独立出来,从生存困难到超越传统光刻机霸主尼康( Nikon )与佳能( Canon ),成为当红炸子鸡,期间历经数十年持续的研发、及业务与供应链资源整合,如今 ASML 的 EUV (极紫外光刻, Extreme ultraviolet lithography )光刻机几乎垄断整个市场。关于 ASML更多信息将在后续半导体设备部分进行分享。 欧洲作为现代文明的发源地,经受过文艺复兴和工业革命的洗礼、以及完整的盛衰周期,对科技和经济发展的态度更为 包容和 达观,其半导体产业发展稳健且不乏远见。 参考资料: 1、除了几家巨头,欧洲半导体还有什么实力? 2018-05-21 ,与非网 2、细看美欧日之间的半导体的收购 , 2020-05-06 ,与非网,赵元闯 3、百度百科等相关资讯
  • 热度 3
    2020-4-13 11:57
    667 次阅读|
    0 个评论
    更加精确评估ARM IP的模型工具——ARM Cycle Models
    Arm公司的 Cycel Model是100%周期精确的Arm IP模型,用于性能分析和精确的评估Arm IP。 ARM· Cycle Models Cycle Models是由Arm RTL直接编译而来,保留了完整的功能以及精准的周期,借助Cycle Models,您可以放心的选择和配置Arm IP,还可以自信地做出体系结构决策、优化系统性能,并在芯片可用之前做裸机固件开发。 CycleModels特点 1.精准的IP性能参考 Cortex处理器和系统IP,包括NIC,CCI,CCN,以及CMN连接的精确周期模型。在使用硬件之前先证明你的假设,分析复杂的内部互连问题。快速探索设计方案,以及发现软件硬件上的瓶颈。 2.加速系统层级的调试 Cycle Model能实现对Arm IP的快速、详细的调试和分析。集成Arm调试器,以及Cach内存可视化功能。 3.统一软件硬件分析 软件团队可以查看代码、设置断点、检查寄存器和内存。硬件团队可以检查信号、转储波形并跟踪整个系统的执行情况。所有用户都可以获取到内部寄存器的瞬时状态。 4.降低设计风险 加速系统调试以及硬件实现和软件的更改,通过验证运行实际系统软件的硬件实现,可以降低风险,消除软件开发的瓶颈:Cycle Model 拥有模拟实际硬件的能力。 5.灵活性和扩展性 Cycle Model能全天候提供来自Arm IP Exchange网站已验证的IP配置选项。它们可被用于Soc设计器,SystemC,Synopsis Platform Architect MCO以便于重新配置,构建或扩展你的虚拟样机。 6.高效易用的GUI 内建的规则检查确保了从广泛的模型和格式到第一轮SOC成功所需要的准确性、性能和灵活性。包含了SystemC,由Cycle Model Studio编译的精准周期模型,Verilog和VHDL的联合仿真通过使用主流的RTL仿真装置。 CPU Cycle Models CPU系列 处理器架构 Cortex-A Cortex-A75,Cortex-A65,Cortex-A65AE,Cortex-A76AE,Cortex-A55,Cortex-A53,Cortex-A35,Cortex-A3 Cortex-R Cortex-R52,Cortex-R8,Cortex-R5 Cortex-M Cortex-M33,Cortex-M23,Cortex-M7,Cortex-M3,Cortex-M0+ 系统IP Cycle Models 系统IP 产品 互联总线 NIC-400,CMN-600,CCI-550 中断控制器 GIC-600,GIC-500 系统内存管理 MMU-600 内存 BP-140, DMC-400 官网参考: https://www.arm.com/products/development-tools/simulation/cycle-models
  • 2020-3-20 14:08
    556 次阅读|
    0 个评论
    ARM全新DSTREAM-HT仿真器!带你看懂DSTREAM系列产品差异
    DSTREAM-HT是ARM公司开发的一款高速占用引脚少的仿真调试器,更快速更少的引脚:非常适合收集大量追踪数据,其中SoC引脚数排除了并行追踪。捕获多个高速串行追踪通道(HSSTP)以启用软件分析,配合arm DS-5可对所有的ARM内核芯片进行开发。 优势功能 快速的数据传输: 高达12.5 Gbps的单通道线路速率(60 Gbps组合通道速率),可配置和捕获CoreSight和自定义IP设备的详细追踪信息; 更少的追踪引脚: 在单通道上 - 2个引脚 - HSSTP可以以与16引脚并行追踪端口相当的速率传输追踪数据; 支持多种协议: 支持Arm HSSTP和Marvell®SETM; 可编译的IO: 用户I / O端口提供脚本功能和8个数字I / O引脚,以实现自动化测试和验证工作流程; 丰富的调试功能: 添加设备特定寄存器,查看指令和数据追踪历史记录,自定义设备特定寄存器的连接,使目标无法复位等等。 更快速的调试速度: 代码下载速度高达12 MB/S,JTAG速率高达180 MHz。SWD速率高达125MHz,可以大大缩短单核或多核设备的调试周期。 远程调试: 远程千兆以太网或USB 3.0主机连接,可实现远程和快速访问。 产品特性 基于CoreSight trace的Arm处理器调试与跟踪 USB3.0和千兆以太网连接接口。 8GB大小的缓冲区。 可定制以支持ASIC 代码下载速度高达12MB/S 最多支持1022个coresight设备 灵活的追踪时钟定位 遥控目标设备复位 设备启动和测试实用程序 支持第三方IP和调试器的灵活架构 ...... 参数信息 Debug 协议 Arm HSSTP, Marvell SETM 单道速率带宽 12.5 Gbps 高速串行追踪带宽 60 Gbps 通道数 1到6路 JTAG/SWD信号电压 1.2V-3.3V 由目标板配置 最大的JTAG时钟速率 180MHZ 支持的Macrocell CoreSight Trace for example ETM, ETB, STM, ITM 目标板连接头 40路SAMTEC ERF8(调试和跟踪) Arm 20 pin 软件要求 Arm Development Studio 产品清单 *以上配件图片仅供参考,如有更新以实物为准 DSTEAM系列特点 Arm 公司的 DSTREAM高性能调试和跟踪单元可在任何基于Arm处理器的硬件目标上进行强大的软件调试和优化。 DSTREAM调试探针具有许多开发平台的加速硬件启动功能以及与第三方工具一起使用的开放式调试接口等功能,与Arm Development Studio配合使用时,可为复杂SoC的开发和调试提供全面的解决方案。 支持至Armv8 高 速 率 追踪 扩展跟踪缓冲 灵活的调试 调试和跟踪Arm架构直至Armv8。 无论是旧版还是最新版,DSTREAM探针系列都涵盖了它。 并行跟踪高达19.2 Gbps,或串行跟踪(HSSTP,SETM)高达60 Gbps 。 即使在最快的目标上也可以捕获扩展的跟踪,以获取软件执行的详细情况。 JTAG , CoreSight,TI和MIPI的适配器。 与第三方IP和调试器兼容,为您提供最大的灵活性。 各个版本的DSTREAM仿真器比较如下: 更多产品信息请看: http://www.myir-tech.com/product/dstream_ht.htm
相关资源
  • 所需E币: 1
    时间: 2020-11-19 16:21
    大小: 103.64KB
    上传者: zendy_731593397
    LPC的ARM参考编程通信
  • 所需E币: 1
    时间: 2020-11-19 17:06
    大小: 297.88KB
    上传者: zendy_731593397
    LPC2000系列ARM参考
  • 所需E币: 1
    时间: 2019-8-6 16:42
    大小: 7.76MB
    本书是为高等院校电子信息工程、通信工程、自动控制、电气自动化、计算机科学与技术等专业编写的嵌入式系统设计、开发与应用的通用教材,也可以作为全国大学生电子设计竞赛培训教材,工程技术人员进行嵌入式系统开发与应用的参考书。  本书的特点是以采用ARM9微处理器的S3C2410A为基础,突出嵌入式系统的基础知识,突出嵌入式系统的存储器、输入输出接口、总线接口的电路设计与编程,突出采用ARM汇编语言和嵌入式Linux的编程方法,突出图形用户接口(GUI)的工具的使用,内容丰富实用,叙述详尽清晰,方便教学与自学,与嵌入式系统实验教学结合,有利于学生掌握嵌入式系统的设计方法,培养学生综合分析、开发创新和工程设计的能力。  全书共分13章。第1章介绍了嵌入式系统的定义和组成、嵌入式微处理器体系结构和类型。第2章介绍了ARM微处理器结构、寄存器结构、异常处理、存储器结构、指令系统和接口。第3章介绍了S3C2410A的存储器控制器、时钟和电源管理、I/O口、中断控制、DMA控制器的内部结构和寄存器以及编程方法。第4章介绍了嵌入式系统存储设备分类与层次结构、NORFlash接口、NANDFlash接口、SDRAM接口、CF卡接口、SD卡接口、IDE接口的基本原理、电路结构与读/写操作方法;第5章介绍了嵌入式系统的GPIO、A/D转换器接口、D/A转换器接口、键盘与LED数码管接口、LCD显示接口、触摸屏接口的基本原理、电路结构与编程方法。第6章介绍了嵌入式系统的串行接口、I2C接口、USB接口、SPI接口、PCI接口、I2S总线接口的基本原理、电路结构与编程方法;第7章介绍了嵌入式系统网络接口,包含有以太网接口、CAN总线接口的基本原理、电路结构与编程方法。第8章介绍了嵌入式软件的特点、分类、体系结构,嵌入式操作系统的功能和分类,嵌入式系统的任务管理、存储管理、输入/输出设备管理。第九章介绍了ADSIDE的组成与使用,ARM汇编伪指令,ARM的汇编语言结构,ARM汇编语言程序调试,ARM汇编语言与C语言混合编程等ARM汇编语言程序设计基础知识;第10章介绍了Bootloader的作用、工作模式和启动流程,S3C2410平台下Linux的Bootloader,WinCE的Bootloader和Blob。第11章介绍了嵌入式Linux的开发环境,桌面Linux的安装和使用,Linux内核结构、目录结构、文件系统等Linux操作系统基础知识。第12章介绍了Bootloader的移植,嵌入式Linux内核和文件系统的移植,Linux下设备驱动程序的开发,应用程序开发。第13章介绍了图形用户接口(GUI)的层次结构,桌面Linux系统中GUI,嵌入式Linux系统GUI,MiniGUI的开发环境、移植、应用编程库和应用程序编写方法,Qt/Embedded,Qt开发及运行环境的创建和Qt应用程序的开发。每章都附有思考题与习题。
  • 所需E币: 0
    时间: 2020-11-18 19:30
    大小: 1.14MB
    上传者: xgp416
    ARMPrimeCellDMA控制器(PL080)参考文档资源大小:1.14MB[摘要]本序言介绍ARMPrimeCellDMA控制器(PL080)及其参考文档。
  • 所需E币: 0
    时间: 2020-11-18 20:22
    大小: 476.3KB
    上传者: czd886
    基于ARM的通信电源最优控制算法
  • 所需E币: 4
    时间: 2020-11-17 20:51
    大小: 1.72MB
    上传者: xgp416
    [摘要]目前嵌入式主要开发环境有Linux、Wince等;Linux因其开源、开发操作便利而被广泛采用。而Linux操作系统也只是一个简单的操作系统,简单的使用对于嵌入式开发人员来说价值并不很高,真正有价值的是掌握Linux的基本服务和Linux的设计理念、思想,这对于嵌入式开发人员的长期发展是很极其
  • 所需E币: 5
    时间: 2020-11-17 21:01
    大小: 5.78MB
    上传者: xgp416
    [摘要]本书详尽、系统的介绍了ARM微处理器的教材。它不仅仅具体说明了微处理器的结构和原理,还介绍了设计微处理器和嵌入微处理器核心的片上系统(SOC)概念和方法。  本书介绍了ARM公司32位RISC微处理器的设计和操作,详细描述了ARM和Thumb指令集和存储管理体系结构
  • 所需E币: 1
    时间: 2020-11-17 14:49
    大小: 517.38KB
    上传者: SnailWillow
    述了可信计算技术的原理,并分析了ARM套司的1’ntst珈ne技术以及TCc提出的TPM技术.针对嵌八式系统资源有限的特点,设计了一种高可信、可扩展、应用灵活的可信嵌入式系统。
  • 所需E币: 3
    时间: 2020-11-16 18:04
    大小: 1.05MB
    上传者: SnailWillow
    目前指纹识别技术应用系统常见的有连接PC的桌面应用系统和嵌入式系统两类。连接PC的桌面应用系统具有灵活的系统结构,它可以多个系统共享指纹设备,还可以建立大型的数据库等。而嵌入式系统则是一个相对独立的完整系统,不需要连接其它设备就可以独立完成其设计功能。本课题所设计的指纹识别系统是基于ARM嵌入式系统的
  • 所需E币: 0
    时间: 2020-11-16 22:59
    大小: 94.56KB
    上传者: stanleylo2001
    ARM嵌入式系统如何实现BSP程序的设计
  • 所需E币: 0
    时间: 2020-11-16 23:32
    大小: 1.54MB
    上传者: stanleylo2001
    IARARM集成开发环境学习教程资源大小:1.54MB[摘要]IAREmbeddedWorkbenchforARM是IARSystems公司为ARM微处理器开发的一个集成开发环境(下面简称IAREWARM)。比较其他的ARM开发环境,IAREWARM具有入门容易、使用方便和代码紧凑等特点。故在这里介绍给打算学习使用或正在使用A
  • 所需E币: 4
    时间: 2020-11-16 23:32
    大小: 84.41KB
    上传者: stanleylo2001
    ARM实现实时时钟实验的实验报告详细说明资源大小:84.41KB[摘要]一、实验目的  1、了解实时时钟的硬件控制原理及设计方法。  2、掌握S3C44B0X处理器的RTC模块程序设计方法。   二、实验设备  1、硬件:Emb
  • 所需E币: 0
    时间: 2020-11-17 00:08
    大小: 3.29MB
    上传者: xgp416
    ARMCortex-M4培训资料.
  • 所需E币: 0
    时间: 2020-11-17 00:08
    大小: 3.88MB
    上传者: xgp416
    ARMCortex-M4Kinetis微控制器实践资料
  • 所需E币: 0
    时间: 2020-11-17 00:08
    大小: 3.61MB
    上传者: xgp416
    BCM2535包含这些外设可以安全地被ARM访问
  • 所需E币: 2
    时间: 2020-11-13 17:51
    大小: 240.85KB
    上传者: SnailWillow
    为了在嵌入式声控伴奏机中获得较好的音源质量。设计了基于ARM7和VSll03b的MIDI模块伴奏机系统,阐明了VSll03b的SPI接口编程原理和$3C4480的SIO接口具体实现方法及编程。通过运行MIDI模块主程序,实现了良好的伴奏效果。
  • 所需E币: 0
    时间: 2020-11-12 22:03
    大小: 181.55KB
    上传者: czd886
    基于ARM的双电源切换系统中高稳定性采样电路和通信电路设计
  • 所需E币: 0
    时间: 2020-11-4 08:26
    大小: 1.5MB
    上传者: czd886
    基于ARM单片机的汽车发动机故障诊断系统的研究
  • 所需E币: 0
    时间: 2020-11-4 08:26
    大小: 587.04KB
    上传者: czd886
    基于ARM的自主移动机器人控制系统设计
  • 所需E币: 0
    时间: 2020-9-28 19:17
    大小: 846.5KB
    上传者: LGWU1995
    ALTERA_基于ARM的用户可定制SoCFPGA.
广告