(一)Horizon Journey 5 Evaluation and Development Kit 开箱及内容物

开箱
本次测评的是Horizon Journey 5 Evaluation and Development Kit。
Horizon Journey 5 Evaluation and Development Kit 产品外包装为开盖印刷纸箱。箱内共包含两层,首层为电源适配器、各类线束等配件,第二层为Horizon Journey 5 Evaluation and Development Kit 本体。
关于Horizon Journey 5 Evaluation and Development Kit 的相关技术资料可通过访问地平线开发者社区(https://developer.horizon.auto/)获取。
内容物
Horizon Journey 5 Evaluation and Development Kit 所有内容物包含:
- Horizon Journey 5 Evaluation and Development Kit 主体 *1
- MINI50线束 *4
- RJ45通用以太网线 *1
- 单腔千兆以太网线束 *1
- 电源接口红黑线 *1
- 电源适配器&电源适配器线束 *1
Horizon Journey 5 Evaluation and Development Kit 官方介绍
征程Journey5简介
征程Journey5 (简称J5)是地平线2021年面向自动驾驶AUTO领域推出的低功耗、高性能算法处理器。
计算能力方面,J5内置了八核Cortex-A55 CPU, 双核Vision P6 DSP及双核BPU (Brain Processing Unit) 算法加速器, 其中BPU加速器采用了全新一代的贝叶斯 (Bayes) 架构设计,可提供128TOPS的BPU算力。
注解
- BPU是地平线自研的加速核,在设计过程中具体结合了Auto的场景需求,从算法、计算架构、编译器三个方面进行了软硬协同优化, 使得在功耗不变前提下提高数倍的计算性能。
- J5内置了贝叶斯架构的BPU核,它极大提升了对先进CNN网络的支持,同时大大降低了DDR带宽占用率, 可提供实时像素级视频分割和结构化视频分析等能力。
图像处理能力方面,J5内置了2个高性能ISP图像处理模块,每个ISP模块可支持2x4k/8M@30fps图像处理, 可以支持多帧曝光宽动态 (HDR),可以在严苛光照场景下得到高质量图像。 同时还支持各种主流CFA,如:RGGB、RCCC、RGBIR 2x2、RCCB、RCCG和RYYCy等。
此外,J5 ISP还提供了包括黑电平补偿 (black level correction),缺陷像素检测与校正(defect pixel detection and correction), 图像降噪 (spatial noise reduction),色差矫正(chromatic aberration correction),镜头矫正(lens shading correction), 去马赛克(demosaicing)等多种能力,同时还提供了专有的ISP修改工具,用于调整ISP参数和图像效果。
片上系统
J5计算平台功能框图如下图所示:

- CPU规格:采用八核Cortex-A55作为主控CPU。
- BPU规格:采用双核地平线第三代贝叶斯 (Bayes) 架构的BPU。
- DSP规格:包含两个可编程的Vision P6 DSP模块,可用于CV计算加速;同时可以用神经网络计算。 该DSP支持SIMD和VLIW计算架构提升计算效率,频率最高到650MHz。 DSP可配置成256 8x8 MAC,总共达到0.67TOPS。
注解
J5内置的2个BPU Core,为业务层面的模型调度提供了非常灵活的多核调度能力。
单帧单核:将单次模型推理手动调度到单个BPU Core上进行,从而针对检测+分类等场景,可以将全图检测高优先级模型与一些低优先级模型进行物理隔离。
在DDR等资源未达到瓶颈的情况下, 单帧单核 可以保证两个BPU核的调度推理隔离。 多线程多帧双核 场景可以实现推理FPS的双倍提升。 针对大模型, 多线程多帧双核 则会由于双核调度的开销,无法实现FPS的双倍提升。 关于高效使用双核BPU的更多信息,请参考 BPU SDK API手册 章节来了解相关技术细节。
地平线J5处理器严格按照功能安全要求和流程进行设计,集成多种安全机制,可对硬件故障进行快速检测和响应,符合ASIL-B标准。
片内外设接口
- 支持4路2.5G MIPI CSI RX接口
- 支持2路2.5G MIPI CSI TX接口
- 支持1路DVP接口
- 支持8路I2C接口
- 支持4路SPI master接口和2路SPI slave接口,其中有1路SPI master和1路SPI slave接口复用
- 支持4路UART接口
- 支持4路CANF-FD接口
- 支持2路1Gb Ethernet接口,其中eth0接口支持TSN(时间敏感网路)
- 支持1路PCIe Gen3 2Lane接口
- 支持16 LPWM接口和2路PWM接口
- 支持1路EMMC和1路SD/SDIO接口
- 支持1路OSPI接口连接nor/hyper/nand flash
- 支持64bit LPDDR4/4X memory接口
- 支持2路I2S接口
Horizon Journey 5 Evaluation and Development Kit 开发板套件
概述
Horizon Journey 5 Evaluation and Development Kit 是基于地平线最新一代高算力车规级计算平台---征程5而打造的开发平台, BPU算力高达128TOPS,同时拥有8核Cortex-A55 CPU集群及双核Vision DSP,平台外部接口丰富,可接入超过16路高清视频输入, 支持多路8MP@30fps图像接入及处理,支持PCIe 3.0、2路千兆以太网、4路CANFD、HDMI、SPI、UART、I2S、I2C等, 可用于算法评测、软件算法开发等开发场景,可满足乘用车、商用车、L4低速无人车等自动驾驶产品研发,支持产品快速导入及落地。

Horizon Journey 5 Evaluation and Development Kit 由主板和子板组成,两者通过 Board-to-Board 连接器连接。 其中主板作为核心板,集成了J5处理器、LPDDR4、eMMC、电源模块、以太网外设、CAN外设、USB接口、SD卡槽、PCIE卡槽等。


规格参数
| 系统规格 | 关键特性 |
|---|---|
| BPU算力 | 双核BPU®,128TOPS |
| CPU性能 | 八核Cortex-A55 1.2GHz,26K DMIPS |
| CSI摄像头 | 4 x 4 lane MIPI CSI, 最大支持16路sensor输入 |
| ISP性能 | 2 ISP pipelines,最大支持4 x 8M @ 30 FPS |
| DSP性能 | 双核 Vision DSP @650MHz |
| DDR内存 | LPDDR4 64bit,8GB |
| EMMC存储 | EMMC5.1 64GB |
| Flash存储 | SPI Nor Flash 64MB |
| PCIe | 1 PCIe 3.0 Controller,2 lanes |
| Ethernet | 2 x GbE |
| SD卡槽 | 1 MicroSD card slot |
| 单板显示 | HDMI |
| 单板尺寸 | 210mm x 160mm |
| 其他 | MINI50(CAN FD x 4、UART x 2、GPIO x 7);USB 调试接口 x 1(UART/SPI/I2C转接USB);SPI x 4;I2C x 2;I2S x 2;UART x 1;GPIO x 6; |
(以上内容取自地平线开发者社区:https://developer.horizon.auto/docs/J5/toolchain/1.1.77/IntroductiontoJ5)
(二)Horizon Journey 5 Evaluation and Development Kit 设备启动
Horizon Journey 5 Evaluation and Development Kit 组装
1.网口接入开发板;

2.将USB-B型连接线插入开发板连接器;

3.将电源接入开发板;

4.将连接线USB插入PC,完成串口连接。
Horizon Journey 5 Evaluation and Development Kit 上位机驱动安装
1.双击"CDM212364_Setup.exe";

2.点击"Extract";

3.点击"下一页";

4.点击"我接受这个协议(A)",点击"下一页";

5.等待安装完成,点击"完成"。

Horizon Journey 5 Evaluation and Development Kit 连接上位机
1.打开Putty,选择第三个新增的端口,波特率为921600;

2.获得如下日志即为连接成功。

bash
▒▒▒NOTICE: Speed: 0, BootSrc: 0
NOTICE: Booting Trusted Firmware
NOTICE: BL1: v1.4(release):j5_rom_v1.1_rc2
NOTICE: BL1: Built : 11:06:02, Dec 11 2021
NOTICE: Waiting connect ...
NOTICE: Loading image id=1 at address 0x20001000
NOTICE: Image id=1 loaded: 0x20001000 - 0x20019590
NOTICE: BL1: Booting BL2
NOTICE: Entry point address = 0x20001000
NOTICE: SPSR = 0x3cd
U-Boot SPL 2018.09-00404-g3501f1e922a2 (Feb 16 2023 - 23:21:18 +0800)
BUILD_FLAGS: M:-1 M AV:0 E:0
SPL: Waiting connect ...
mcore boot
Mcore: success!!
ddr: dtype_vref: 72 mV: S:00000000
Find module HB_DDRI sha:0x000000000eb4c7d6, ver: 0x01010000, init: 0000000020403ae8, param: 0000000020503898
Find module HB_DDRP sha:0x000000000eb4c7d6, ver: 0x01010000, init: 00000000204010f8, param: 00000000205038d0
Trying to boot from HB_BLK
[BL31:1970:1:1:0:0:1:517802](0) NOTICE: BL31: v2.1(release):j5-fiq-test-447-g6764dc1f3-dirty
[BL31:1970:1:1:0:0:1:518952](0) NOTICE: BL31: Built : 18:46:19, Apr 12 2023
pdu_get_version version 0x8965
spacc->config.num_sec_ctx: 0
SPACC ID: (00008965)
MAJOR : 6
MINOR : 5
QOS : 1
IVIMPORT : 1
TYPE : 0 (SPACC)
AUX : 1
IDX : 0
PARTIAL : 1
PROJECT : 0
SPACC CFG: (17721010)
CTX CNT : 16
RC4 CNT : 16
VSPACC CNT : 2
CIPH SZ : HASH SZ : DMA TYPE : 1 (Scattergather)
MAX PROCLEN: 1048575 bytes
FIFO CONFIG :
CMD0 DEPTH: 8
CMD1 DEPTH: 8
CMD2 DEPTH: 32
STAT DEPTH: 32
[BL31:1970:1:1:0:0:1:527444](0) NOTICE: EPN-200a Random Number Generator (stepping: 0)
[BL31:1970:1:1:0:0:1:528515](0) NOTICE: Supports 256-bit output mode
[BL31:1970:1:1:0:0:1:529375](0) NOTICE: Supports true random reseed function
In: uart@43B90000
Out: uart@43B90000
Err: uart@43B90000
Net:
Warning: ethernet@59110000 (eth0) using random MAC address - da:42:9f:45:de:43
eth0: ethernet@59110000
Warning: ethernet@59120000 (eth1) using random MAC address - f2:4b:73:70:83:9f
, eth1: ethernet@59120000
SF: Detected mt35xu512g with page size 256 Bytes, erase size 32 KiB, total 64 MiB
Could not find a valid device for spi6.0
mtd:spi-flash1 has find!.flash_num:1
flash:1 BInfo slot: 0 at addr: 00010000, mtd Address:00010200
mtdparts magic:ffffffff, mtdparts len:-1
info: mtdparts magic:ffffffff is not equal to 544f4248
boot_mode: 0
ANDROID: Booting slot: a
setup_boot_action: boot action 0x5242c300
Hit any key to stop autoboot: 0
ANDROID: Booting slot: a
Using slot a
slot_suffix = _a
boot partition: boot_a
Using Secure boot
## Android Verified Boot 2.0 version 1.1.0
hashtree_desc.root_digest_len : 32
avb descriptor tag hashtree verify success!
Verification passed successfully
Can't find partition 'system'
Can't find partition 'system'
Can't find partition 'app'
Can't find partition 'system'
Can't find partition 'system'
no ipaddr exist in uboot-env
os cmdline: console=ttyS1,921600n8 root=/dev/ram0 rdinit=/init rw rootwait loglevel=0 bootprocess=mmc hobotboot.hardware=j5dvb board.name=j5evm board.subname=default board.ver=default board.subj5=default board.eth0_ip=192.168.2.15 board.eth1_ip=192.168.1.15 board.pcie_mode=rc hobot.socver=5.2.0 hobotboot.reason=hwreset hobotboot.fchm_fault=0x0000ffff hobotboot.fault_timestamp=0 hobotboot.slot_suffix=_a hobotboot.mode=normal hobotboot.pksel=0 is-secureboot=yes bootverify dm_system="0 1019984 verity 1 /dev/block/platform/by-name/system /dev/block/platform/by-name/system 4096 4096 127498 127498 sha256 8260afcf5f1e1f8a0231ac9c41a1a27b89b1947d4e8d4532ffc4ca5114111806 aee087a5be3b982978c923f566a94613496b417f2af592639bc80d141e34dfe7 1 restart_on_corruption" androidboot.vbmeta.device=PARTUUID=fd065807-8746-d444-af89-137ef9529e3f androidboot.vbmeta.avb_version=1.1 androidboot.vbmeta.device_state=locked androidboot.vbmeta.hash_alg=sha256 androidboot.vbmeta.size=1920 androidboot.vbmeta.digest=13d4b398d360709363aa8ad7339c175e8934660dec8d9b7## Booting Android Image at 0xbc200000 ...
Android's image name: j5
Kernel load addr 0x89200000 size 14527 KiB
= board_type: 0x00000524
Model: Horizon AI Technologies, Inc. HOBOT Matrix 5 P2 D
- dtb_type: 0x00000614
- dtb_type: 0x00000624
Model: Horizon AI Technologies, Inc. HOBOT Matrix 5 duo a sample
- dtb_type: 0x00000651
Model: Horizon Robotics Journey 5 DVB
- dtb_type: 0x00000503
- dtb_type: 0x00000513
- dtb_type: 0x00000533
Model: Horizon AI Technologies, Inc. HOBOT j5 FPGA RTL0.9 pre3
- dtb_type: 0x00000401
Model: Horizon AI Technologies, Inc. HOBOT Matrix 5 C
- dtb_type: 0x00000603
Model: Horizon Robotics Journey 5 DVB D
- dtb_type: 0x00000505
- dtb_type: 0x00000515
- dtb_type: 0x00000535
Model: Horizon Robotics Journey 5 EVM2 RC
- dtb_type: 0x00000524
Uncompressing Kernel Image ... OK
kernel loaded to 0x89200000, end = 0x8b039008
Using Device Tree in place at 00000000bd030800, end 00000000bd064c7f
Fail to find cfi,hyperbus-nor at fdt_fixup_mtdparts_hb
Reserve uboot images at 88000000 -> 8817A758
Reserve uboot gd & malloc region at 82FFBE20 -> 83000000
Reserve memory after relocated at BB7E0480 -> C0000000
Set Carveout Mem [ion_carveout] Size to 0x0000000080000000 @0xc0000000
Set Reserved carveout Mem [ion_reserved] Size to 0x0000000030000000 @0x140000000
Set Reserve Mem [ion_cma] Size to 0x0000000010000000 @0x170000000
Starting kernel ...
Timer summary in microseconds (34 records):
Mark Elapsed Stage
0 0 reset
432,621 432,621 spl
445,923 13,302 after_spl_sdhc_pre_init
445,928 5 hb_module_load_apdp_begin
611,792 165,864 hb_module_load_apdp_end
662,076 50,284 finish_hb_set_bootdevice
797,907 135,831 spl_dram_init_begin
797,911 4 spl_dram_init_ddr_vref
800,903 2,992 spl_dram_init_pmic_init
1,053,028 252,125 spl_dram_init_ddr_init_param
1,197,466 144,438 end_spl
1,530,838 333,372 board_init_f
1,592,739 61,901 before_board_early_init_f
1,592,763 24 after_board_early_init_f
1,602,167 9,404 display_text_info
1,602,197 30 dram_init
1,643,655 41,458 board_init_r
1,667,980 24,325 initr_mmc
1,776,821 108,841 initr_env
1,777,598 777 id=64
1,782,860 5,262 id=65
1,789,767 6,907 before_last_stage_init
1,801,469 11,702 after_last_stage_init
1,801,469 0 main_loop
2,275,692 474,223 bootm_start
2,275,694 2 id=1
2,344,136 68,442 id=7
2,391,237 47,101 id=15
2,391,490 253 start_kernel
Accumulated time:
185 dm_spl
16,013 dm_r
61,884 dm_f
135,823 spl_mcore_boot
255,135 spl_dram_init
[BL31:1970:1:1:0:0:3:577337](3) NOTICE: hobot_customer_key_load 599:custom_root_pubkey load successed!keyhandle 0x80127020
[BL31:1970:1:1:0:0:3:579043](3) NOTICE: hobot_customer_key_load 612:custom_sec_prikey load successed!keyhandle 0x80127078
[BL31:1970:1:1:0:0:3:580622](3) NOTICE: hobot_customer_key_load 625:custom_cloud_pubkey load successed!keyhandle 0x801270d0
login[308]: root login on 'console'
root@j5dvb:~# log_mount_point is /log
deploy_mount_point is /ota
mark system success(normal boot)
[M:1970:01:01:00:00:04:723046] E: prepare_dynamic_fchm_setting : 411
[M:1970:01:01:00:00:04:732045] E: finish_dynamic_fchm_setting : 411
[M:1970:01:01:00:00:04:753118] E: setting fchm for 2nd
[M:1970:01:01:00:00:04:754593] E: last ce magic info: 73 38 3 65535
[M:1970:01:01:00:00:05:352059] E: acore_msg: 73-33-3-65535
[M:1970:01:01:00:00:05:352715] E: payload: 0x0-0x0-0x0-0x0
[M:1970:01:01:00:00:05:353505] E: magic id: 33
[M:1970:01:01:00:00:05:354040] E: magic info: 73 33 3 65535
[M:1970:01:01:00:00:05:381107] E: prepare_dynamic_fchm_setting : 434
[M:1970:01:01:00:00:05:392043] E: finish_dynamic_fchm_setting : 434
[M:1970:01:01:00:00:05:911034] E: acore_msg: 73-38-3-65535
[M:1970:01:01:00:00:05:911689] E: payload: 0x0-0x0-0x0-0x0
[M:1970:01:01:00:00:05:912479] E: magic id: 34
[M:1970:01:01:00:00:05:913016] E: magic info: 73 38 3 65535