tag:blogger.com,1999:blog-89882238601696894952024-03-06T20:29:08.411+08:00Scott ShuLinux, Network and ProgrammingUnknownnoreply@blogger.comBlogger290125tag:blogger.com,1999:blog-8988223860169689495.post-23731852800186682682024-03-06T16:53:00.006+08:002024-03-06T20:28:37.491+08:00Buildroot for the ARC HS Development Kit (Part2)<p>Based on <b>Buildroot 2023.02.1</b>, the build process is quite smooth.</p><p><span style="font-family: courier;">[ ]$ wget --no-check-certificate https://buildroot.org/downloads/buildroot-2023.02.1.tar.gz<br />[ ]$ tar zxvf buildroot-2023.02.1.tar.gz<br />[ ]$ cd buildroot-2023.02.1<br />[ ]$ make <b>snps_archs38_hsdk_defconfig</b><br />[ ]$ make menuconfig<br />[ ]$ make</span></p><p>Result of the build<span style="font-family: courier;"></span></p><p><span style="font-family: courier;">[ ]$ tree output/images/<br />output/images/<br />├── boot.vfat<br />├── rootfs.ext2<br />├── rootfs.ext4 -> rootfs.ext2<br />├── sdcard.img<br />├── u-boot<br />├── u-boot.bin<br />├── uboot-env.bin<br />└── uImage<br /></span></p><h4 style="text-align: left;">Boot message in Minicom Console</h4><h4 style="text-align: left;"><span style="font-family: courier; font-weight: normal;"><span style="font-size: small;">Linux version <span style="color: #2b00fe;"><b>5.16.0</b></span> (shu@e560p) (arc-buildroot-linux-gnu-gcc.br_real (Buildroot 2023.02.1) 10.2.0, GNU ld (GNU Binutils) 2.34.50.20200611) #1 SM4<br />Memory @ 80000000 [1024M]<br />OF: fdt: Machine model: snps,hsdk<br />earlycon: uart8250 at MMIO32 0xf0005000 (options '115200n8')<br />printk: bootconsole [uart8250] enabled<br />Failed to get possible-cpus from dtb, pretending all 4 cpus exist<br />archs-intc : 2 priority levels (default 1) FIRQ (not used)<br /><br />IDENTITY : ARCVER [0x52] ARCNUM [0x0] CHIPID [ 0x0]<br />processor [0] : HS38 R2.1 (ARCv2 ISA)<br />Timers : Timer0 Timer1 RTC [UP 64-bit] GFRC [SMP 64-bit]<br />ISA Extn : atomic ll64 unalign mpy[opt 9] div_rem<br />BPU : full match, cache:2048, Predict Table:16384 Return stk: 8<br />MMU [v4] : 8k PAGE, 2M Super Page (not used) , swalk 2 lvl, JTLB 1024 (256x4), uDTLB 8, uITLB 4, PAE40 (not used)<br />I-Cache : 64K, 4way/set, 64B Line, VIPT aliasing<br />D-Cache : 64K, 2way/set, 64B Line, PIPT<br />SLC : 512K, 128B Line<br />Peripherals : 0xf0000000, IO-Coherency (per-device)<br />Vector Table : 0x90000000<br />FPU : SP DP<br />DEBUG : smaRT RTT ActionPoint 8/min<br />Extn [SMP] : ARConnect (v2): 4 cores with IPI IDU DEBUG GFRC<br />Zone ranges:<br /> Normal [mem 0x0000000080000000-0x00000000bfffffff]<br />Movable zone start for each node<br />Early memory node ranges<br /> node 0: [mem 0x0000000080000000-0x00000000bfffffff]<br />Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff]<br />percpu: Embedded 6 pages/cpu s15360 r8192 d25600 u49152<br />pcpu-alloc: s15360 r8192 d25600 u49152 alloc=6*8192<br />pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3<br />Built 1 zonelists, mobility grouping on. Total pages: 130496<br />Kernel command line: earlycon=uart8250,mmio32,0xf0005000,115200n8 console=ttyS0,115200n8 debug print-fatal-signals=1 root=/dev/mmcblk0p2 rootwait<br />Dentry cache hash table entries: 131072 (order: 6, 524288 bytes, linear)<br />Inode-cache hash table entries: 65536 (order: 5, 262144 bytes, linear)<br />mem auto-init: stack:off, heap alloc:off, heap free:off<br />Memory: 1033520K/1048576K available (5549K kernel code, 636K rwdata, 1384K rodata, 152K init, 272K bss, 15056K reserved, 0K cma-reserved)<br />rcu: Preemptible hierarchical RCU implementation.<br />rcu: RCU event tracing is enabled.<br /> Trampoline variant of Tasks RCU enabled.<br />rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.<br />NR_IRQS: 512<br />MCIP: IDU supports 64 common irqs<br />sched_clock: 64 bits at 999MHz, resolution 1ns, wraps every 4398046511103ns<br />clocksource: ARConnect GFRC: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns<br />Console: colour dummy device 80x25<br />Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)<br />pid_max: default: 32768 minimum: 301<br />Mount-cache hash table entries: 2048 (order: 0, 8192 bytes, linear)<br />Mountpoint-cache hash table entries: 2048 (order: 0, 8192 bytes, linear)<br />rcu: Hierarchical SRCU implementation.<br />smp: Bringing up secondary CPUs ...<br />Idle Task [1] (ptrval)<br />Trying to bring up CPU1 ...<br />archs-intc : 2 priority levels (default 1) FIRQ (not used)<br /><br />IDENTITY : ARCVER [0x52] ARCNUM [0x1] CHIPID [ 0x0]<br />processor [1] : HS38 R2.1 (ARCv2 ISA)<br />Timers : Timer0 Timer1 RTC [UP 64-bit]<br />ISA Extn : atomic ll64 unalign mpy[opt 9] div_rem<br />BPU : full match, cache:2048, Predict Table:16384 Return stk: 8<br />MMU [v4] : 8k PAGE, 2M Super Page (not used) , swalk 2 lvl, JTLB 1024 (256x4), uDTLB 8, uITLB 4, PAE40 (not used)<br />I-Cache : 64K, 4way/set, 64B Line, VIPT aliasing<br />D-Cache : 64K, 2way/set, 64B Line, PIPT<br />SLC : 512K, 128B Line<br />Peripherals : 0xf0000000, IO-Coherency (per-device)<br />Vector Table : 0x90000000<br />FPU : SP DP<br />DEBUG : smaRT RTT ActionPoint 8/min<br />Extn [CCM] : DCCM @ 60000000, 256 KB / ICCM: @ 60000000, 256 KB<br />Extn [SMP] : ARConnect (v2): 4 cores with IPI IDU DEBUG GFRC<br />## CPU1 LIVE ##: Executing Code...<br />Idle Task [2] (ptrval)<br />Trying to bring up CPU2 ...<br />archs-intc : 2 priority levels (default 1) FIRQ (not used)<br /><br />IDENTITY : ARCVER [0x52] ARCNUM [0x2] CHIPID [ 0x0]<br />processor [2] : HS38 R2.1 (ARCv2 ISA)<br />Timers : Timer0 Timer1 RTC [UP 64-bit]<br />ISA Extn : atomic ll64 unalign mpy[opt 9] div_rem<br />BPU : full match, cache:2048, Predict Table:16384 Return stk: 8<br />MMU [v4] : 8k PAGE, 2M Super Page (not used) , swalk 2 lvl, JTLB 1024 (256x4), uDTLB 8, uITLB 4, PAE40 (not used)<br />I-Cache : 64K, 4way/set, 64B Line, VIPT aliasing<br />D-Cache : 64K, 2way/set, 64B Line, PIPT<br />SLC : 512K, 128B Line<br />Peripherals : 0xf0000000, IO-Coherency (per-device)<br />Vector Table : 0x90000000<br />FPU : SP DP<br />DEBUG : smaRT RTT ActionPoint 8/min<br />Extn [SMP] : ARConnect (v2): 4 cores with IPI IDU DEBUG GFRC<br />## CPU2 LIVE ##: Executing Code...<br />Idle Task [3] (ptrval)<br />Trying to bring up CPU3 ...<br />archs-intc : 2 priority levels (default 1) FIRQ (not used)<br /><br />IDENTITY : ARCVER [0x52] ARCNUM [0x3] CHIPID [ 0x0]<br />processor [3] : HS38 R2.1 (ARCv2 ISA)<br />Timers : Timer0 Timer1 RTC [UP 64-bit]<br />ISA Extn : atomic ll64 unalign mpy[opt 9] div_rem<br />BPU : full match, cache:2048, Predict Table:16384 Return stk: 8<br />MMU [v4] : 8k PAGE, 2M Super Page (not used) , swalk 2 lvl, JTLB 1024 (256x4), uDTLB 8, uITLB 4, PAE40 (not used)<br />I-Cache : 64K, 4way/set, 64B Line, VIPT aliasing<br />D-Cache : 64K, 2way/set, 64B Line, PIPT<br />SLC : 512K, 128B Line<br />Peripherals : 0xf0000000, IO-Coherency (per-device)<br />Vector Table : 0x90000000<br />FPU : SP DP<br />DEBUG : smaRT RTT ActionPoint 8/min<br />Extn [CCM] : DCCM @ 60000000, 256 KB / ICCM: @ 60000000, 256 KB<br />Extn [SMP] : ARConnect (v2): 4 cores with IPI IDU DEBUG GFRC<br />## CPU3 LIVE ##: Executing Code...<br />smp: Brought up 1 node, 4 CPUs<br />devtmpfs: initialized<br />random: get_random_u32 called from rhashtable_init+0xbc/0x288 with crng_init=0<br />clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns<br />futex hash table entries: 1024 (order: 4, 131072 bytes, linear)<br />NET: Registered PF_NETLINK/PF_ROUTE protocol family<br />DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations<br />thermal_sys: Registered thermal governor 'step_wise'<br />reg-fixed-voltage regulator-5v0: use noncoherent DMA ops<br />SCSI subsystem initialized<br />usbcore: registered new interface driver usbfs<br />usbcore: registered new interface driver hub<br />usbcore: registered new device driver usb<br />pps_core: LinuxPPS API ver. 1 registered<br />pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it><br />PTP clock support registered<br />clocksource: Switched to clocksource ARConnect GFRC<br />NET: Registered PF_INET protocol family<br />IP idents hash table entries: 16384 (order: 4, 131072 bytes, linear)<br />tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 12288 bytes, linear)<br />TCP established hash table entries: 8192 (order: 2, 32768 bytes, linear)<br />TCP bind hash table entries: 8192 (order: 3, 65536 bytes, linear)<br />TCP: Hash tables configured (established 8192 bind 8192)<br />UDP hash table entries: 512 (order: 1, 16384 bytes, linear)<br />UDP-Lite hash table entries: 512 (order: 1, 16384 bytes, linear)<br />NET: Registered PF_UNIX/PF_LOCAL protocol family<br />RPC: Registered named UNIX socket transport module.<br />RPC: Registered udp transport module.<br />RPC: Registered tcp transport module.<br />RPC: Registered tcp NFSv4.1 backchannel transport module.<br />arc-pct pct: use noncoherent DMA ops<br />ARC perf : 8 counters (48 bits), 113 conditions<br />workingset: timestamp_bits=30 max_order=17 bucket_order=0<br />Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)<br />io scheduler mq-deadline registered<br />io scheduler kyber registered<br />simple-pm-bus soc: use noncoherent DMA ops<br />random: fast init done<br />snps-creg-gpio f00014b0.gpio: use noncoherent DMA ops<br />snps-creg-gpio f00014b0.gpio: GPIO controller with 2 gpios probed<br />gpio-dwapb f0003000.gpio: use noncoherent DMA ops<br />gpio-dwapb f0003000.gpio: no IRQ for port0<br />dw_axi_dmac_platform f0080000.dmac: use noncoherent DMA ops<br />dw_axi_dmac_platform f0080000.dmac: DesignWare AXI DMA Controller, 4 channels<br />hsdk-reset f00008a0.reset-controller: use noncoherent DMA ops<br />Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled<br />dw-apb-uart f0005000.serial: use noncoherent DMA ops<br />printk: console [ttyS0] disabled<br />f0005000.serial: ttyS0 at MMIO 0xf0005000 (irq = 6, base_baud = 2083125) is a 16550A<br />printk: console [ttyS0] enabled<br />printk: console [ttyS0] enabled<br />printk: bootconsole [uart8250] disabled<br />printk: bootconsole [uart8250] disabled<br />usbcore: registered new interface driver udl<br />etnaviv-gpu f0090000.gpu: use noncoherent DMA ops<br /> (null): use noncoherent DMA ops<br />etnaviv etnaviv: bound f0090000.gpu (ops 0x905cd900)<br />etnaviv-gpu f0090000.gpu: model: GC880, revision: 5124<br />[drm] Initialized etnaviv 1.3.0 20151214 for etnaviv on minor 0<br />brd: module loaded<br />dw_spi_mmio f0020000.spi: use noncoherent DMA ops<br />spi-nor spi0.0: sst26wf016b (2048 Kbytes)<br />libphy: Fixed MDIO Bus: probed<br />stmmaceth f0008000.ethernet: use coherent DMA ops<br />stmmaceth f0008000.ethernet: IRQ eth_wake_irq not found<br />stmmaceth f0008000.ethernet: IRQ eth_lpi not found<br />stmmaceth f0008000.ethernet: PTP uses main clock<br />stmmaceth f0008000.ethernet: User ID: 0x10, Synopsys ID: 0x37<br />stmmaceth f0008000.ethernet: DWMAC1000<br />stmmaceth f0008000.ethernet: DMA HW capability register supported<br />stmmaceth f0008000.ethernet: RX Checksum Offload Engine supported<br />stmmaceth f0008000.ethernet: COE Type 2<br />stmmaceth f0008000.ethernet: TX Checksum insertion supported<br />stmmaceth f0008000.ethernet: Normal descriptors<br />stmmaceth f0008000.ethernet: Ring mode enabled<br />stmmaceth f0008000.ethernet: Enable RX Mitigation via HW Watchdog Timer<br />stmmaceth f0008000.ethernet: device MAC address 0e:ba:db:6c:95:56<br />libphy: stmmac: probed<br />ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver<br />ehci-platform: EHCI generic platform driver<br />ehci-platform f0040000.ehci: use coherent DMA ops<br />ehci-platform f0040000.ehci: EHCI Host Controller<br />ehci-platform f0040000.ehci: new USB bus registered, assigned bus number 1<br />ehci-platform f0040000.ehci: irq 15, io mem 0xf0040000<br />ehci-platform f0040000.ehci: USB 2.0 started, EHCI 1.00<br />hub 1-0:1.0: USB hub found<br />hub 1-0:1.0: 1 port detected<br />ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver<br />ohci-platform: OHCI generic platform driver<br />ohci-platform f0060000.ohci: use coherent DMA ops<br />ohci-platform f0060000.ohci: Generic Platform OHCI controller<br />ohci-platform f0060000.ohci: new USB bus registered, assigned bus number 2<br />ohci-platform f0060000.ohci: irq 15, io mem 0xf0060000<br />hub 2-0:1.0: USB hub found<br />hub 2-0:1.0: 1 port detected<br />usbcore: registered new interface driver usb-storage<br />sdhci: Secure Digital Host Controller Interface driver<br />sdhci: Copyright(c) Pierre Ossman<br />Synopsys Designware Multimedia Card Interface Driver<br />dw_mmc f000a000.mmc: use coherent DMA ops<br />sdhci-pltfm: SDHCI platform and OF driver helper<br />dw_mmc f000a000.mmc: IDMAC supports 32-bit address mode.<br />usbcore: registered new interface driver usbhid<br />dw_mmc f000a000.mmc: Using internal DMA controller.<br />usbhid: USB HID core driver<br />dw_mmc f000a000.mmc: Version ID is 290a<br />NET: Registered PF_INET6 protocol family<br />dw_mmc f000a000.mmc: DW MMC controller at irq 12,32 bit host data width,16 deep fifo<br />Segment Routing with IPv6<br />In-situ OAM (IOAM) with IPv6<br />sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver<br />NET: Registered PF_PACKET protocol family<br />mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63)<br />dw-apb-uart f0005000.serial: forbid DMA for kernel console<br />Waiting for root device /dev/mmcblk0p2...<br />mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 25000000Hz, actual 25000000HZ div = 1)<br />mmc0: new SDHC card at address 0007<br />blk_queue_max_segment_size: set to minimum 8192<br />mmcblk0: mmc0:0007 SD4GB 3.68 GiB<br /> mmcblk0: p1 p2<br />usb 1-1: new high-speed USB device number 2 using ehci-platform<br />EXT4-fs (mmcblk0p2): recovery complete<br />EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: disabled.<br />VFS: Mounted root (ext4 filesystem) on device 179:2.<br />devtmpfs: mounted<br />Freeing unused kernel image (initmem) memory: 152K<br />This architecture does not have kernel memory protection.<br />Run /sbin/init as init process<br /> with arguments:<br /> /sbin/init<br /> with environment:<br /> HOME=/<br /> TERM=linux<br />hub 1-1:1.0: USB hub found<br />hub 1-1:1.0: 2 ports detected<br />EXT4-fs (mmcblk0p2): re-mounted. Opts: (null). Quota mode: disabled.<br />Starting syslogd: OK<br />Starting klogd: OK<br />Running sysctl: OK<br />Saving 2048 bits of non-creditable seed for next boot<br />Starting network: stmmaceth f0008000.ethernet eth0: PHY [stmmac-0:00] driver [Micrel KSZ9031 Gigabit PHY] (irq=POLL)<br />stmmaceth f0008000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0<br />stmmaceth f0008000.ethernet eth0: No Safety Features support found<br />stmmaceth f0008000.ethernet eth0: PTP not supported by HW<br />stmmaceth f0008000.ethernet eth0: configuring for phy/rgmii-id link mode<br />udhcpc: started, v1.36.0<br />udhcpc: broadcasting discover<br />stmmaceth f0008000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx<br />IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready<br />udhcpc: no lease, forking to background<br />OK<br /><br />Welcome to the HSDK Platform<br />hsdk login: root<br /># ifconfig<br />eth0 Link encap:Ethernet HWaddr 0E:BA:DB:6C:95:56<br /> inet addr:192.168.7.120 Bcast:192.168.7.255 Mask:255.255.255.0<br /> inet6 addr: fe80::cba:dbff:fe6c:9556/64 Scope:Link<br /> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1<br /> RX packets:84 errors:0 dropped:4 overruns:0 frame:0<br /> TX packets:9 errors:0 dropped:0 overruns:0 carrier:0<br /> collisions:0 txqueuelen:1000<br /> RX bytes:8561 (8.3 KiB) TX bytes:1270 (1.2 KiB)<br /> Interrupt:10 Base address:0x8000<br /><br />lo Link encap:Local Loopback<br /> inet addr:127.0.0.1 Mask:255.0.0.0<br /> inet6 addr: ::1/128 Scope:Host<br /> UP LOOPBACK RUNNING MTU:65536 Metric:1<br /> RX packets:0 errors:0 dropped:0 overruns:0 frame:0<br /> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0<br /> collisions:0 txqueuelen:1000<br /> RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)<br /><br /># ping 168.95.1.1<br />PING 168.95.1.1 (168.95.1.1): 56 data bytes<br />64 bytes from 168.95.1.1: seq=0 ttl=55 time=6.020 ms<br />64 bytes from 168.95.1.1: seq=1 ttl=55 time=19.687 ms<br />^C<br />--- 168.95.1.1 ping statistics ---<br />2 packets transmitted, 2 packets received, 0% packet loss<br />round-trip min/avg/max = 6.020/12.853/19.687 ms<br />#</span></span><br /></h4>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-89980705223199861532024-03-06T15:28:00.012+08:002024-03-06T16:23:27.197+08:00Buildroot for the ARC HS Development Kit<p>Linux distribution for the ARC HS Development Kit (HSDK) <a href="https://github.com/foss-for-synopsys-dwc-arc-processors/buildroot/releases/tag/arc-2017.11-hsdk-release">Here</a><br /></p><p><span style="font-family: courier;">[ ]$ wget --no-check-certificate https://github.com/foss-for-synopsys-dwc-arc-processors/buildroot/archive/arc-2017.11-hsdk-release.tar.gz</span></p><p><span style="font-family: courier;">[ ]$ tar zxvf arc-2017.11-hsdk-release.tar.gz</span></p><p><span style="font-family: courier;">[ ]$ cd buildroot-arc-2017.11-hsdk-release </span><br /></p><p>Select the default configuration for the target:</p><p><span style="font-family: courier;">[ ]$ make snps_hsdk_defconfig</span></p><p>Optional: modify the configuration:<br /></p><p><span style="font-family: courier;">[ ]$ make menuconfig</span></p><p>PS. Deselect perf option under Kernel/Linux Kernel Tools (Compilation issue)<span style="font-family: courier;"><br /></span></p><p>Build: </p><p><span style="font-family: courier;">[ ]$ make</span></p><p>PS. During the build process, all downloaded source tarballs are saved in the dl directory. </p><p>After fixing a few issues ... Result of the build <br /></p><p><span style="font-family: courier;">[ ]$ tree output/images/<br />output/images/<br />├── boot.vfat<br />├── hsdk.dtb<br />├── rootfs.ext2<br />├── rootfs.ext4 -> rootfs.ext2<br />├── sdcard.img<br />├── sdcard.img.gz<br />├── u-boot<br />├── u-boot.bin<br />├── uboot.env<br />├── u-boot.head<br />└── uImage<br /></span></p><p>Copy the image file to the SD Card </p><p><span style="font-family: courier;">[ ]$ dd<code class="notranslate"> if=output/images/sdcard.img of=/dev/mmcblk0 bs=1M status=progress oflag=direct</code></span></p><h4 style="text-align: left;"><code class="notranslate" style="font-family: inherit;">Boot Message in Minicom Console</code><code class="notranslate" style="font-family: inherit;"><br /></code></h4><p style="text-align: left;"><span style="font-size: small;"><span style="font-family: courier;">U-Boot 2017.11 (Jan 29 2018 - 17:01:45 +0300)<br /><br />DRAM: 1 GiB<br />Relocation Offset is: 3ef67000<br />MMC: Synopsys Mobile storage: 0<br />reading uboot.env<br />In: serial0@f0005000<br />Out: serial0@f0005000<br />Err: serial0@f0005000<br />Clock values are saved to environment<br />Net:<br />Warning: ethernet@f0008000 (eth0) using random MAC address - 6a:ae:81:c6:de:95<br />eth0: ethernet@f0008000<br />Hit any key to stop autoboot: 0<br />reading uImage<br />3783300 bytes read in 166 ms (21.7 MiB/s)<br />reading hsdk.dtb<br />3491 bytes read in 4 ms (851.6 KiB/s)<br />## Booting kernel from Legacy Image at 82000000 ...<br /> Image Name: Linux-4.14.7<br /> Image Type: ARC Linux Kernel Image (gzip compressed)<br /> Data Size: 3783236 Bytes = 3.6 MiB<br /> Load Address: 90000000<br /> Entry Point: 90004000<br /> Verifying Checksum ... OK<br />## Flattened Device Tree blob at 81000000<br /> Booting using the fdt blob at 0x81000000<br /> Uncompressing Kernel Image ... OK<br /> Loading Device Tree to bfd5d000, end bfd60da2 ... OK<br />CPU start mask is 0xf<br /><br />Starting kernel ...<br /><br />Linux version 4.14.7 (shu@e560p) (gcc version 7.1.1 20170710 (Buildroot 2017.11)) #1 SMP PREEMPT Wed Mar 6 13:58:01 CST 2024<br />Memory @ 80000000 [1024M]<br />OF: fdt: Machine model: snps,hsdk<br />archs-intc : 2 priority levels (default 1) FIRQ (not used)<br /><br />IDENTITY : ARCVER [0x52] ARCNUM [0x0] CHIPID [ 0x0]<br />processor [0] : ARC HS38 R2.1 (ARCv2 ISA)<br />Timers : Timer0 Timer1 RTC [UP 64-bit] GFRC [SMP 64-bit]<br />ISA Extn : atomic ll64 unalign (not used)<br /> : mpy[opt 9] div_rem norm barrel-shift swap minmax swape<br />BPU : full match, cache:2048, Predict Table:16384<br />MMU [v4] : 8k PAGE, 2M Super Page (not used) JTLB 1024 (256x4), uDTLB 8, uITLB 4, PAE40 (not used)<br />I-Cache : 64K, 4way/set, 64B Line, VIPT aliasing<br />D-Cache : 64K, 2way/set, 64B Line, PIPT<br />SLC : 512K, 128B Line<br />Peripherals : 0xf0000000, IO-Coherency<br />Vector Table : 0x90000000<br />FPU : SP DP<br />DEBUG : ActionPoint smaRT RTT<br />OS ABI [v4] : 64-bit data any register aligned<br />Extn [SMP] : ARConnect (v2): 4 cores with IPI IDU DEBUG GFRC<br />Enable CONFIG_ARC_HAS_ACCL_REGS for working apps<br />percpu: Embedded 7 pages/cpu @bff9e000 s25088 r8192 d24064 u57344<br />Built 1 zonelists, mobility grouping on. Total pages: 130496<br />Kernel command line: console=ttyS0,115200n8 root=/dev/mmcblk0p2 rootwait<br />PID hash table entries: 4096 (order: 1, 16384 bytes)<br />Dentry cache hash table entries: 131072 (order: 6, 524288 bytes)<br />Inode-cache hash table entries: 65536 (order: 5, 262144 bytes)<br />Memory: 773256K/1048576K available (5014K kernel code, 270K rwdata, 920K rodata, 152K init, 286K bss, 275320K reserved, 0K cma-reserved)<br />Preemptible hierarchical RCU implementation.<br /> Tasks RCU enabled.<br />NR_IRQS: 512<br />MCIP: IDU supports 64 common irqs<br />clocksource: ARConnect GFRC: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns<br />Console: colour dummy device 80x25<br />Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)<br />pid_max: default: 32768 minimum: 301<br />Mount-cache hash table entries: 2048 (order: 0, 8192 bytes)<br />Mountpoint-cache hash table entries: 2048 (order: 0, 8192 bytes)<br />Hierarchical SRCU implementation.<br />smp: Bringing up secondary CPUs ...<br />Idle Task [1] bf04ba80<br />Trying to bring up CPU1 ...<br />archs-intc : 2 priority levels (default 1) FIRQ (not used)<br /><br />IDENTITY : ARCVER [0x52] ARCNUM [0x1] CHIPID [ 0x0]<br />processor [1] : ARC HS38 R2.1 (ARCv2 ISA)<br />Timers : Timer0 Timer1 RTC [UP 64-bit]<br />ISA Extn : atomic ll64 unalign (not used)<br /> : mpy[opt 9] div_rem norm barrel-shift swap minmax swape<br />BPU : full match, cache:2048, Predict Table:16384<br />MMU [v4] : 8k PAGE, 2M Super Page (not used) JTLB 1024 (256x4), uDTLB 8, uITLB 4, PAE40 (not used)<br />I-Cache : 64K, 4way/set, 64B Line, VIPT aliasing<br />D-Cache : 64K, 2way/set, 64B Line, PIPT<br />SLC : 512K, 128B Line<br />Peripherals : 0xf0000000, IO-Coherency<br />Vector Table : 0x90000000<br />FPU : SP DP<br />DEBUG : ActionPoint smaRT RTT<br />Extn [CCM] : DCCM @ 80000000, 256 KB / ICCM: @ 70000000, 256 KB<br />OS ABI [v4] : 64-bit data any register aligned<br />Extn [SMP] : ARConnect (v2): 4 cores with IPI IDU DEBUG GFRC<br />Enable CONFIG_ARC_HAS_ACCL_REGS for working apps<br />## CPU1 LIVE ##: Executing Code...<br />Idle Task [2] bf04b540<br />Trying to bring up CPU2 ...<br />archs-intc : 2 priority levels (default 1) FIRQ (not used)<br /><br />IDENTITY : ARCVER [0x52] ARCNUM [0x2] CHIPID [ 0x0]<br />processor [2] : ARC HS38 R2.1 (ARCv2 ISA)<br />Timers : Timer0 Timer1 RTC [UP 64-bit]<br />ISA Extn : atomic ll64 unalign (not used)<br /> : mpy[opt 9] div_rem norm barrel-shift swap minmax swape<br />BPU : full match, cache:2048, Predict Table:16384<br />MMU [v4] : 8k PAGE, 2M Super Page (not used) JTLB 1024 (256x4), uDTLB 8, uITLB 4, PAE40 (not used)<br />I-Cache : 64K, 4way/set, 64B Line, VIPT aliasing<br />D-Cache : 64K, 2way/set, 64B Line, PIPT<br />SLC : 512K, 128B Line<br />Peripherals : 0xf0000000, IO-Coherency<br />Vector Table : 0x90000000<br />FPU : SP DP<br />DEBUG : ActionPoint smaRT RTT<br />OS ABI [v4] : 64-bit data any register aligned<br />Extn [SMP] : ARConnect (v2): 4 cores with IPI IDU DEBUG GFRC<br />Enable CONFIG_ARC_HAS_ACCL_REGS for working apps<br />## CPU2 LIVE ##: Executing Code...<br />Idle Task [3] bf04b000<br />Trying to bring up CPU3 ...<br />archs-intc : 2 priority levels (default 1) FIRQ (not used)<br /><br />IDENTITY : ARCVER [0x52] ARCNUM [0x3] CHIPID [ 0x0]<br />processor [3] : ARC HS38 R2.1 (ARCv2 ISA)<br />Timers : Timer0 Timer1 RTC [UP 64-bit]<br />ISA Extn : atomic ll64 unalign (not used)<br /> : mpy[opt 9] div_rem norm barrel-shift swap minmax swape<br />BPU : full match, cache:2048, Predict Table:16384<br />MMU [v4] : 8k PAGE, 2M Super Page (not used) JTLB 1024 (256x4), uDTLB 8, uITLB 4, PAE40 (not used)<br />I-Cache : 64K, 4way/set, 64B Line, VIPT aliasing<br />D-Cache : 64K, 2way/set, 64B Line, PIPT<br />SLC : 512K, 128B Line<br />Peripherals : 0xf0000000, IO-Coherency<br />Vector Table : 0x90000000<br />FPU : SP DP<br />DEBUG : ActionPoint smaRT RTT<br />Extn [CCM] : DCCM @ 80000000, 256 KB / ICCM: @ 70000000, 256 KB<br />OS ABI [v4] : 64-bit data any register aligned<br />Extn [SMP] : ARConnect (v2): 4 cores with IPI IDU DEBUG GFRC<br />Enable CONFIG_ARC_HAS_ACCL_REGS for working apps<br />## CPU3 LIVE ##: Executing Code...<br />smp: Brought up 1 node, 4 CPUs<br />devtmpfs: initialized<br />random: get_random_u32 called from rhashtable_init+0x11a/0x284 with crng_init=0<br />clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns<br />futex hash table entries: 1024 (order: 3, 65536 bytes)<br />NET: Registered protocol family 16<br />SCSI subsystem initialized<br />usbcore: registered new interface driver usbfs<br />usbcore: registered new interface driver hub<br />usbcore: registered new device driver usb<br />pps_core: LinuxPPS API ver. 1 registered<br />pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it><br />PTP clock support registered<br />clocksource: Switched to clocksource ARConnect GFRC<br />NET: Registered protocol family 2<br />TCP established hash table entries: 8192 (order: 2, 32768 bytes)<br />TCP bind hash table entries: 8192 (order: 3, 65536 bytes)<br />TCP: Hash tables configured (established 8192 bind 8192)<br />UDP hash table entries: 512 (order: 1, 16384 bytes)<br />UDP-Lite hash table entries: 512 (order: 1, 16384 bytes)<br />NET: Registered protocol family 1<br />RPC: Registered named UNIX socket transport module.<br />RPC: Registered udp transport module.<br />RPC: Registered tcp transport module.<br />RPC: Registered tcp NFSv4.1 backchannel transport module.<br />ARC perf : 8 counters (48 bits), 113 conditions<br />workingset: timestamp_bits=30 max_order=17 bucket_order=0<br />random: fast init done<br />Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)<br />io scheduler noop registered<br />io scheduler deadline registered<br />io scheduler cfq registered (default)<br />io scheduler mq-deadline registered<br />io scheduler kyber registered<br />usbcore: registered new interface driver udlfb<br />Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled<br />console [ttyS0] disabled<br />f0005000.serial: ttyS0 at MMIO 0xf0005000 (irq = 6, base_baud = 2083125) is a 16550A<br />console [ttyS0] enabled<br />libphy: Fixed MDIO Bus: probed<br />stmmaceth f0008000.ethernet: PTP uses main clock<br />stmmac - user ID: 0x10, Synopsys ID: 0x37<br />stmmaceth f0008000.ethernet: Ring mode enabled<br />stmmaceth f0008000.ethernet: DMA HW capability register supported<br />stmmaceth f0008000.ethernet: Normal descriptors<br />stmmaceth f0008000.ethernet: RX Checksum Offload Engine supported<br />stmmaceth f0008000.ethernet: COE Type 2<br />stmmaceth f0008000.ethernet: TX Checksum insertion supported<br />stmmaceth f0008000.ethernet: Enable RX Mitigation via HW Watchdog Timer<br />libphy: stmmac: probed<br />ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver<br />ehci-platform: EHCI generic platform driver<br />ehci-platform f0040000.ehci: EHCI Host Controller<br />ehci-platform f0040000.ehci: new USB bus registered, assigned bus number 1<br />ehci-platform f0040000.ehci: irq 15, io mem 0xf0040000<br />ehci-platform f0040000.ehci: USB 2.0 started, EHCI 1.00<br />hub 1-0:1.0: USB hub found<br />hub 1-0:1.0: 1 port detected<br />ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver<br />ohci-platform: OHCI generic platform driver<br />ohci-platform f0060000.ohci: Generic Platform OHCI controller<br />ohci-platform f0060000.ohci: new USB bus registered, assigned bus number 2<br />ohci-platform f0060000.ohci: irq 15, io mem 0xf0060000<br />hub 2-0:1.0: USB hub found<br />hub 2-0:1.0: 1 port detected<br />usbcore: registered new interface driver usb-storage<br />IR NEC protocol handler initialized<br />IR RC5(x/sz) protocol handler initialized<br />IR RC6 protocol handler initialized<br />IR JVC protocol handler initialized<br />IR Sony protocol handler initialized<br />IR SANYO protocol handler initialized<br />IR Sharp protocol handler initialized<br />IR MCE Keyboard/mouse protocol handler initialized<br />IR XMP protocol handler initialized<br />sdhci: Secure Digital Host Controller Interface driver<br />sdhci: Copyright(c) Pierre Ossman<br />Synopsys Designware Multimedia Card Interface Driver<br />dw_mmc f000a000.mmc: 'num-slots' was deprecated.<br />dw_mmc f000a000.mmc: IDMAC supports 32-bit address mode.<br />dw_mmc f000a000.mmc: Using internal DMA controller.<br />dw_mmc f000a000.mmc: Version ID is 290a<br />dw_mmc f000a000.mmc: DW MMC controller at irq 12,32 bit host data width,16 deep fifo<br />mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63)<br />sdhci-pltfm: SDHCI platform and OF driver helper<br />usbcore: registered new interface driver usbhid<br />usbhid: USB HID core driver<br />NET: Registered protocol family 10<br />Segment Routing with IPv6<br />sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver<br />NET: Registered protocol family 17<br />ttyS0 - failed to request DMA<br />Waiting for root device /dev/mmcblk0p2...<br />usb 1-1: new high-speed USB device number 2 using ehci-platform<br />mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 25000000Hz, actual 25000000HZ div = 1)<br />mmc0: new SDHC card at address 0007<br />blk_queue_max_segment_size: set to minimum 8192<br />mmcblk0: mmc0:0007 SD4GB 3.68 GiB<br /> mmcblk0: p1 p2<br />EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities<br />EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities<br />hub 1-1:1.0: USB hub found<br />hub 1-1:1.0: 2 ports detected<br />random: crng init done<br />EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)<br />VFS: Mounted root (ext4 filesystem) on device 179:2.<br />devtmpfs: mounted<br />Freeing unused kernel memory: 152K<br />This architecture does not have kernel memory protection.<br />EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered<br />Starting logging: OK<br />Initializing random number generator... done.<br />Starting network: stmmaceth f0008000.ethernet eth0: device MAC address 7e:f7:c5:69:03:97<br />Micrel KSZ9031 Gigabit PHY stmmac-0:00: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=stmmac-0:00, irq=POLL)<br />stmmaceth f0008000.ethernet eth0: PTP not supported by HW<br />IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready<br />udhcpc: started, v1.27.2<br />udhcpc: sending discover<br />stmmaceth f0008000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx<br />IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready<br />udhcpc: sending discover<br />udhcpc: sending select for 192.168.7.179<br />udhcpc: lease of 192.168.7.179 obtained, lease time 864000<br />deleting routers<br />adding dns 192.168.7.9<br />adding dns 192.168.7.8<br />OK<br />ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519<br />Starting sshd: OK<br /><br />Welcome to the HSDK Platform<br />hsdk login: root<br /># ifconfig<br />eth0 Link encap:Ethernet HWaddr 7E:F7:C5:69:03:97<br /> inet addr:192.168.7.179 Bcast:192.168.7.255 Mask:255.255.255.0<br /> inet6 addr: fe80::7cf7:c5ff:fe69:397/64 Scope:Link<br /> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1<br /> RX packets:435 errors:0 dropped:20 overruns:0 frame:0<br /> TX packets:10 errors:0 dropped:0 overruns:0 carrier:0<br /> collisions:0 txqueuelen:1000<br /> RX bytes:36096 (35.2 KiB) TX bytes:1340 (1.3 KiB)<br /> Interrupt:10 Base address:0x8000<br /><br />lo Link encap:Local Loopback<br /> inet addr:127.0.0.1 Mask:255.0.0.0<br /> inet6 addr: ::1/128 Scope:Host<br /> UP LOOPBACK RUNNING MTU:65536 Metric:1<br /> RX packets:0 errors:0 dropped:0 overruns:0 frame:0<br /> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0<br /> collisions:0 txqueuelen:1000<br /> RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)<br /><br /># ping 168.95.1.1<br />PING 168.95.1.1 (168.95.1.1): 56 data bytes<br />64 bytes from 168.95.1.1: seq=0 ttl=55 time=6.185 ms<br />64 bytes from 168.95.1.1: seq=1 ttl=55 time=8.870 ms<br />^C<br />--- 168.95.1.1 ping statistics ---<br />2 packets transmitted, 2 packets received, 0% packet loss<br />round-trip min/avg/max = 6.185/7.527/8.870 ms<br />#</span></span><span style="font-size: small;"><br /></span></p><h4 style="text-align: left;"><span style="font-family: inherit;">Reference</span></h4><p><span style="font-family: inherit;"><a href="https://github.com/foss-for-synopsys-dwc-arc-processors/linux/wiki/Building-and-Running-ARC-Linux-for-HSDK">Building-and-Running-ARC-Linux-for-HSDK</a> </span><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-59246079134716869602024-03-04T11:17:00.004+08:002024-03-05T15:47:39.413+08:00ARC HS Development Kit<h4 style="text-align: left;">HSDK Board</h4><p></p><p><br /></p><h4 style="text-align: left;">Debugger</h4><div style="text-align: left;"><ul style="text-align: left;"><li><span>Ashling </span>Opella-XD</li></ul></div><div style="text-align: left;"><b>Installation on Ubuntu 22.04.3 LTS</b></div><div style="text-align: left;"><span style="font-family: courier;"><br /></span></div><div style="text-align: left;"><div><span face="Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif" style="color: black; font-family: courier; font-size: 12pt;">[ ]$ sudo apt-get install gcc-multilib</span></div>
<div><span face="Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif" style="color: black; font-family: courier; font-size: 12pt;">[ ]$ sudo apt-get install libqt5widgets5<br aria-hidden="true" />
[ ]$ sudo apt-get install libqt5widgets5:i386</span></div><div><span face="Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif" style="color: black; font-family: courier; font-size: 12pt;">[ ]$ sudo apt-get install libusb-1.0-0:i386 </span></div><div><span face="Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif" style="color: black; font-size: 12pt;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPoeEDpB2DkYsws67uVH7ISjNINYzG3sMmj7AbhlYlOQ0BjR2ecMEvt1JGPdfoYoVoXvtYkTj9Ya7TzEUcGUl9toEwwD1sC1xOwxqvQSfH1D_a2KkhE1Hq1oGhpFe85roamL6iRsq6F6su2RL_VGLX_vf7XcREk9uh5Fsv2uQCsV6iiP5Z17JU19OCo1I/s771/Opella-XD_HSDK.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="638" data-original-width="771" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPoeEDpB2DkYsws67uVH7ISjNINYzG3sMmj7AbhlYlOQ0BjR2ecMEvt1JGPdfoYoVoXvtYkTj9Ya7TzEUcGUl9toEwwD1sC1xOwxqvQSfH1D_a2KkhE1Hq1oGhpFe85roamL6iRsq6F6su2RL_VGLX_vf7XcREk9uh5Fsv2uQCsV6iiP5Z17JU19OCo1I/s320/Opella-XD_HSDK.png" width="320" /></a></div><br /><span face="Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calibri,Helvetica,sans-serif" style="color: black; font-size: 12pt;"></span></div><div><h4 style="text-align: left;"><span style="font-family: verdana;">Load U-boot</span></h4><div style="text-align: left;"><span style="font-family: courier;">[ ]$ mdb -DLL=opxdarc \</span></div><div style="text-align: left;"><span style="font-family: courier;"> -prop=jtag_frequency=12MHz \</span></div><div style="text-align: left;"><span style="font-family: courier;"> -prop=jtag_optimise=1 \</span></div><span style="font-family: courier;"> -nooptions -run -cl -memxfersize=0x8000 u-boot</span></div><div><span style="font-family: courier;"> </span></div></div><div style="text-align: left;"><ul style="text-align: left;"><li>Digilent JTAG-HS2</li></ul><p><span style="font-family: courier;">[ ] $ <span style="color: red;">djtgcfg </span>enum</span><span style="font-family: courier;"><br />Found 2 device(s)<br /><br />Device: JtagHs2<br /> Device Transport Type: 00020001 (USB)<br /> Product Name: Digilent JTAG-HS2<br /> User Name: JtagHs2<br /> Serial Number: ooxxooxxooxxooxx<br /><br />Device: HSDK<br /> Device Transport Type: 00020001 (USB)<br /> Product Name: DesignWare ARC SDP<br /> User Name: HSDK<br /> Serial Number: ooxxooxxooxxooxx</span></p><h4 style="text-align: left;"><span style="font-family: verdana;">Load U-boot</span></h4><span style="font-family: courier;">[ ]$ </span><span style="font-family: courier;">mdb -digilent -cl -run u-boot</span><p><br /></p><h4 style="text-align: left;"><span style="font-family: verdana;">Minicom Console</span><br /></h4><p><span style="font-family: courier;">U-Boot 2024.01-rc3 (Nov 24 2023 - 17:37:03 +0800)<br /><br />CPU: ARC HS38 v2.1c at 500 MHz<br />Model: snps,hsdk<br />Board: Synopsys ARC HS Development Kit<br />U-Boot autostart: enabled<br />DRAM: 1 GiB<br />Core: 20 devices, 16 uclasses, devicetree: embed<br />Relocation Offset is: 3ef91000<br />MMC: mmc0@f000a000: 0<br />Loading Environment from FAT... MMC: no card present<br />** Bad device specification mmc 0 **<br />In: serial0@f0005000<br />Out: serial0@f0005000<br />Err: serial0@f0005000<br />Clock values are saved to environment<br />Net:<br />Warning: ethernet@f0008000 (eth0) using random MAC address - 2a:99:60:c5:a4:2c<br />eth0: ethernet@f0008000<br />hsdk#</span></p></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-90489431012357462442017-06-20T14:28:00.002+08:002017-06-20T14:48:48.097+08:00HOWTO: Creating a Local Yum Repository Using an ISO Image on CentOS 7.0<br />
<ol>
<li>Create a mount point, for example /mnt/CentOS</li>
<br /> [ ]# mount -o loop CentOS-7-x86_64-Everything-1611.iso/mnt/CentOS<br />
<br />
<li>In the /etc/yum.repos.d directory, add and edit the repository files, such as CentOS-ISO.repo </li>
<blockquote class="tr_bq">
[c7-iso]<br />
name=CentOS-$releasever - ISO<br />
baseurl=file:///mnt/CentOS/<br />
gpgcheck=0<br />
enabled=1</blockquote>
<br />
<li>Clean up the yum cache </li>
<br /> [ ]# sudo yum clean all<br />
<br />
<li>Install RPM package </li>
<br /> [ ]# sudo yum --disablerepo=\* --enablerepo=c7-iso install "package name"</ol>
<ol><span style="color: blue;">Install the 32-bit C library:</span></ol>
<ol><span style="color: blue;"> [ ]# sudo yum --disablerepo=\* --enablerepo=c7-iso install glibc.i686</span></ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-39950389714439609202017-06-18T17:06:00.002+08:002017-06-18T17:06:25.495+08:00The Year of AIMachine Learning<br />
<div>
<br /></div>
<div>
Deep Learning</div>
<div>
<br /></div>
<div>
AI</div>
<div>
<br /></div>
<div>
It's all about computing capability under less resource consumption. The winner is who can perform more calculation in one clock cycle.</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-30849390437752301372017-01-18T00:36:00.001+08:002017-01-18T00:36:15.415+08:00Xilinx VivadoMy first projectUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-17912654820462437462016-11-25T10:38:00.005+08:002024-03-06T12:57:29.536+08:00How to switch GCC version on Ububtu<p>I had installed GCC version 4.9 and 5.4 from the Ubuntu repositories. How to switch GCC version?<br />
You can switch the symlinks yourself manually, but using "<b>update-alternatives</b>" makes it easy.<br />
<br />
<span style="color: blue; font-family: courier;">[ ]$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 100 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9</span><span style="font-family: courier;"><br /></span>
<span style="color: blue; font-family: courier;">[ ]$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50 --slave /usr/bin/g++ g++ /usr/bin/g++-5 </span><br />
<br />
Now you can switch between these versions by using:<br />
<span style="font-family: courier;"><br /></span>
<span style="color: blue; font-family: courier;">[ ]$ sudo update-alternatives --config gcc </span></p><h4 style="text-align: left;">Change GCC 9 (Ubuntu 22.04) <br /></h4><span style="color: #2b00fe; font-family: courier;">[ ]$ sudo apt install gcc-9<br />[ ]$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100 </span>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-8988223860169689495.post-21240843080780289012016-10-18T18:13:00.001+08:002016-10-18T18:14:32.561+08:00The 2 Good Books<b>System on Chip Interfaces for Low Power Design (PDF)</b><br />
<br />
Paperback: 406 pages<br />
Publisher: Morgan Kaufmann; 1 edition (December 22, 2015)<br />
Language: English<br />
ISBN-10: 0128016302<br />
ISBN-13: 978-0128016305<br />
<br />
<b>Digital Design and Computer Architecture. ARM Edition (PDF)</b><br />
<br />
Paperback: 584 pages<br />
Publisher: Morgan Kaufmann; 1 edition (May 6, 2015)<br />
Language: English<br />
ISBN-10: 0128000562<br />
ISBN-13: 978-0128000564Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-46304752677643893962016-07-30T11:06:00.003+08:002016-07-30T11:06:34.417+08:00Cortex-M on Mac OS<div>
<h3>
<br /><span style="font-size: large;">Build Toolchain</span></h3>
</div>
<div>
<ul>
<li>Xcode</li>
<li>Install <a href="http://ftp.yzu.edu.tw/CTAN/systems/mac/mactex/mactex-20160603.pkg">MacTex</a></li>
<li>Prepare source <a href="https://launchpadlibrarian.net/268330225/gcc-arm-none-eabi-5_4-2016q2-20160622-src.tar.bz2">tarball</a> </li>
</ul>
Copy the src release package into ~/mac-build/ directory<br />
<span style="color: blue;">$ cp gcc-arm-none-eabi-5_3-2016q1-20160330-src.tar.bz2 ~/mac-build </span><br />
<br />
Prepare source codes<br />
<span style="color: blue;">$ cd ~/mac-build</span><br />
<span style="color: blue;">$ tar xjf gcc-arm-none-eabi-5_3-2016q1-20160330-src.tar.bz2</span><br />
<span style="color: blue;">$ cd ./gcc-arm-none-eabi-5_3-2016q1-20160330/src</span><br />
<span style="color: blue;">$ find . -name '*.tar.*' | xargs -I% tar -xf %</span><br />
<span style="color: blue;">$ cd ..</span><br />
<ul>
<li>Build the toolchain</li>
</ul>
</div>
Start building the toolchain.<br />
<span style="color: blue;">$ ./build-prerequisites.sh</span><br />
<span style="color: blue;">$ ./build-toolchain.sh
</span><br />
<h3>
<span style="color: blue;"><br /></span><span style="font-size: large;">Cortex-M Platform</span></h3>
[TTBD] TI, NXP, ?Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-26112003770862661412016-01-03T23:55:00.001+08:002016-01-03T23:55:11.689+08:00逝去的 2015Po 文驟減的一年、沒了閒情逸致。庸庸碌碌的 2015 ...<br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-32452336063809046962015-08-22T22:46:00.001+08:002015-08-22T22:46:32.637+08:00HOWTO compile Android in Ubuntu 14.04.1 LTS<br />
http://nathanpfry.com/how-to-prepare-ubuntu-14-04-lts-trusty-tahr-to-compile-android-roms/Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-39081852742083737242015-05-12T01:05:00.000+08:002015-05-13T01:10:13.309+08:00MediaTek Helio(TM) X20MediaTek Helio(TM) X20: The World's First Mobile SoC Featuring Tri-Cluster(TM) CPU Architecture
<br />
<br />
<br />
<span style="font-family: Verdana, sans-serif;">MediaTek today announces the launch of the MediaTek Helio™ X20 -- the world's first mobile processor with Tri-Cluster™ CPU architecture and ten processing cores (Deca-core). The Helio X20 continues MediaTek's mission of delivering industry-leading computing performance coupled with unmatched power efficiency. With the integration of MediaTek's WorldMode Category 6 LTE modem with carrier aggregation and upgraded CorePilot® 3.0 advanced scheduling algorithm, the Helio X20 is set to revolutionize the mobile processor industry and address the global demand for flagship mobile devices. The Helio X20 is expected to be available in consumer products by end of this year.
</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Today's mobile devices are being asked to perform a wider range of tasks than ever before. Gaming requires sustained high-performance, advanced imaging and video recording need bursts of peak processor power, which are heavy load tasks. These are coupled with lighter load tasks, such as Internet browsing and audio. Battery life is also of paramount importance to all types of users. Yet existing mobile processing architectures don't efficiently meet the wide spectrum of use case scenarios. Currently, most high-end smartphones use dual cluster architectures, which limit the extent of the lowest power at one end and the computing granularity across the different configurations.
</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">MediaTek's Tri-Cluster CPU architecture in the Helio X20 provides three processor clusters, each designed to more efficiently handle different types of workloads. The Tri-Cluster CPU consists of one cluster of two ARM Cortex-A72 cores (running at 2.5GHz for extreme performance) and two clusters of four ARM Cortex-A53 cores (one running at 2.0GHz for medium loads and one running at 1.4GHz for light activities). Much like adding gears to vehicles, dividing the cores into three clusters provides a more efficient allocation of tasks for optimum performance and extended battery life. </span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">The Tri-Cluster CPU architecture is enabled by MediaTek's new CorePilot 3.0 heterogeneous computing scheduling algorithm. CorePilot 3.0 schedules the tasks for all CPUs and GPUs on the SoC while managing power and thermal effects so that extreme performance can be attained while creating less heat. It provides up to a 30% reduction of power consumption compared with conventional dual cluster architectures. </span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"> "By leading with mobile CPU architecture and multimedia innovation, MediaTek continues to push the envelope of power efficiency and peak performance," said Jeffrey Ju, Senior Vice President of MediaTek. "We are excited to see device manufacturers raise the bar -- in camera, display, audio and other consumer features. MediaTek has been adding innovative multimedia features to our platforms since the very beginning, enhancing the overall computing and multimedia experience as part of our strategy to put leading technology into the hands of everyone."</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><a href="http://www.prnewswire.com/news-releases/mediatek-launches-the-mediatek-heliotm-x20-the-worlds-first-mobile-soc-featuring-tri-clustertm-cpu-architecture-300081708.html">PR Newswire</a></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-7887768114385503012015-03-31T00:57:00.000+08:002015-03-31T00:57:17.302+08:00iMac元年Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-12462825566033532342015-02-23T00:01:00.000+08:002015-02-23T00:01:09.503+08:00How to Setup Android Development Environment on Mac OS X1. Download <a href="http://dl.google.com/android/android-sdk_r24.0.2-macosx.zip">Android SDK</a><br />
2. /tools/android<br />
3. Android SDK Manager<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO0VtNutihBWbIL4N6uIFA7Ej2XYXWCV6gmO_6pvw26QTJ9NB5oAQQ52aSWC1twHxTNOo4hSohCmga_Vjz1gRI2IhSni7a6Z9tS1q4t7qiVhLkVnaYsVI1DK1YD3hjqz5Bad5oBCBINLQ/s1600/Android.SDK.Manager.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjO0VtNutihBWbIL4N6uIFA7Ej2XYXWCV6gmO_6pvw26QTJ9NB5oAQQ52aSWC1twHxTNOo4hSohCmga_Vjz1gRI2IhSni7a6Z9tS1q4t7qiVhLkVnaYsVI1DK1YD3hjqz5Bad5oBCBINLQ/s1600/Android.SDK.Manager.png" height="400" width="327" /></a></div>
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-20255765179249452322014-12-16T00:59:00.002+08:002014-12-16T01:00:44.130+08:00Asus P4 533aAsus P4SC-EA is used in the Asus barebones Terminator/T2 P4 533A. The drivers are:<br />
<ul>
<li>LAN/Network for Windows XP/7</li>
</ul>
<a href="http://dlcdnet.asus.com/pub/ASUS/Barebone/Terminator-P4-533A/LAN/LAN-Winxp.zip">SiS Integrated Lan Drivers</a><br />
<ul>
<li>VGA/Graphics for Windows XP/7</li>
</ul>
<a href="http://dlcdnet.asus.com/pub/ASUS/Barebone/Terminator-P4-533A/vga/VGAWinXP.zip">SiS650/651/740 Display Driver</a><br />
<a href="http://dlcdnet.asus.com/pub/ASUS/Barebone/Pundit/vga/Agp.zip">SiS AGP WHQL Drivers</a><br />
<ul>
<li>Audio/Sound for Windows XP/7</li>
</ul>
<a href="http://dlcdnet.asus.com/pub/ASUS/Barebone/Terminator-P4-533A/audio/1980-W2k_xp.zip">AD1980 SoundMAX Audio Driver V5.12.3533 WHQL</a><br />
<br />
Oh, my desktop is back.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-62459682016088851982014-11-18T09:39:00.000+08:002014-11-18T09:39:05.255+08:00Juno ARM Development Platform<a href="http://www.arm.com/products/tools/development-boards/versatile-express/juno-arm-development-platform.php"><span style="font-family: Verdana, sans-serif;">Juno</span></a><br />
<span style="font-family: Verdana, sans-serif;"><br />
CPU: ARM® Cortex®-A57 and Cortex-A53 MPCore for ARMv8 big.LITTLE™</span><br />
<br />
<ul>
<li><span style="font-family: Verdana, sans-serif;">2x ARM Cortex A57 cores @ 1.1 GHz (2MB L2 cache) </span></li>
<li><span style="font-family: Verdana, sans-serif;">4x ARM Cortex A53 cores @ 850 MHz (1MB L2 cache)</span></li>
</ul>
<br />
<span style="font-family: Verdana, sans-serif;">GPU: Mali™-T624 for 3D Graphics Acceleration and GP-GPU compute (@ 600 MHz)</span><br />
<span style="font-family: Verdana, sans-serif;"> </span><br />
<span style="font-family: Verdana, sans-serif;">System Control Processor (SCP): ARMv7-M</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Software SDK</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">LDK</span><br />
<span style="font-family: Verdana, sans-serif;">Android</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-53073063582372837552014-11-16T10:10:00.001+08:002014-11-16T16:36:48.848+08:00Mentor Embedded Linux Kit for PandaBoardhttp://www.mentor.com/embedded-software/downloads/linux-kits/<br />
<br />
<ul>
<li>Mentor Embedded Linux Lite, a pre-built Yocto-based distribution, including libraries and headers</li>
<li>A Linux Board Support Package (BSP) for your reference board </li>
<li>A pre-built filesystem for the target
Sourcery CodeBench Lite for application development </li>
<li>Installation / Application Development Guide</li>
</ul>
<div>
<i><br /></i>
<i>Ref:</i></div>
<div>
<a href="http://scottshulinux.blogspot.tw/2014/03/yocto.html">http://scottshulinux.blogspot.tw/2014/03/yocto.html</a><br />
<a href="http://scottshulinux.blogspot.tw/2011/11/pandaboard-system-bring-up.html">http://scottshulinux.blogspot.tw/2011/11/pandaboard-system-bring-up.html</a></div>
<div>
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-2934796593659256932014-11-15T12:59:00.003+08:002014-11-15T14:06:35.386+08:00ARM Cortex-M<b>ARM Corex-M3</b><br />
<br />
<u>SoC</u><br />
<br />
<br />
<u>Toolchain</u><br />
<br />
Sourcery CodeBench <b>Lite</b> releases for ARM EABI, ARM GNU/Linux, ARM AARCH64-Linux, IA32/IA64 GNU/Linux and ELF are no longer available. :(<br />
<br />
Thanks to <a href="http://www.carlson-minot.com/">http://www.carlson-minot.com/</a> (For Mac OS X User)<br />
<br />
<u>Boot Code</u><br />
<br />
<br />
<br />
<br />
<u>Book</u><br />
<br />
Assembly Language Programming: ARM Cortex-M3 (PDF)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDoCmMtT9TW0k9opGt-4hPr4aC43uvoLYfGwdvL54aJgPVkrHAZGut1mvRGaNCkq2NyBmu6U__WUREpkrPWx6UyHcWz1vE7N5wWuCahqcI9p5S2FeROYw81JG_FC9IxyD2tg-E7y394Pc/s1600/Assembly+Language+Programming-+ARM+Cortex-M3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDoCmMtT9TW0k9opGt-4hPr4aC43uvoLYfGwdvL54aJgPVkrHAZGut1mvRGaNCkq2NyBmu6U__WUREpkrPWx6UyHcWz1vE7N5wWuCahqcI9p5S2FeROYw81JG_FC9IxyD2tg-E7y394Pc/s1600/Assembly+Language+Programming-+ARM+Cortex-M3.jpg" height="200" width="131" /></a></div>
<br />
Vincent Mahout<br />
<br />
<br />
Wiley-ISTE<br />
ISBN: 978-1-84821-329-6<br />
<br />
February 2012<br />
256 pagesUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-34563519449451997872014-10-06T22:56:00.000+08:002014-10-19T23:00:08.387+08:00MTK AndroidUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-88922637900761286792014-10-01T08:44:00.003+08:002014-10-01T08:44:21.665+08:00HOWTO mount an airport extreme attached disk<br />
[ ]# sudo mount.cifs //IP_ADDRESS/Data -o password=PASSWORD,sec=ntlm,uid=LOCAL_USERNAME /media/airport<br />
<br />
[ ]# sudo mount -t cifs //10.0.1.1/DATA -o username=USERNAME,password=PASSWORD /media/airport<br />
<div>
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-13865465329011050992014-08-29T14:59:00.001+08:002014-08-29T14:59:14.860+08:00[Book] Beginning Google Glass Development<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNXLnpC8VEt6WPUrFWmI7ariFO3ZUuQ6V5g8d2Wb3dVIQJxN2oiSgYbyY2Uhy2K1oxl5o1J53hLFBRpf6kT8UJGC0CsBV-_ROkD1mJ0twigU6D_T9yUJYFIcXw6m1okxLzs-aJhfzzBPs/s1600/Beginning.Google.Glass.Development.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNXLnpC8VEt6WPUrFWmI7ariFO3ZUuQ6V5g8d2Wb3dVIQJxN2oiSgYbyY2Uhy2K1oxl5o1J53hLFBRpf6kT8UJGC0CsBV-_ROkD1mJ0twigU6D_T9yUJYFIcXw6m1okxLzs-aJhfzzBPs/s1600/Beginning.Google.Glass.Development.png" height="200" width="162" /></a></div>
<br />
Beginning Google Glass Development (PDF)<br />
Jeff Tang<br />
<br />
368 Pages<br />
<br />
Publication Date: June 24, 2014<br />
<br />
ISBN13: 978-1-4302-6788-1<br />
<br />
<br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-43014528957605193062014-08-26T18:50:00.002+08:002014-08-26T18:51:54.311+08:00AHRS - Attitude and Heading Reference SystemAttitude and heading reference system (AHRS) consists of sensors on three axes that provide attitude information for aircraft, including heading, pitch and yaw.<br />
<br />
AHRS consist of either solid-state or <span style="color: red;">microelectromechanical systems (MEMS)</span> <span style="color: red;">gyroscopes</span>, <span style="color: red;">accelerometers </span>and <span style="color: red;">magnetometers </span>on all three axes.<br />
<br />
The key difference between an<span style="color: red;"> inertial measurement unit</span> (IMU) and an AHRS is the addition of an on-board processing system in an AHRS which provides solved attitude and heading solutions versus an IMU which just delivers sensor data to an additional device that solves the attitude solution.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-85066629338208757702014-08-25T09:53:00.002+08:002014-08-25T09:53:55.499+08:00RobotinoRobotino is a mobile robot system from Festo Didactic. Robotino provides all the sensors, actuators and software interfaces you would expect from a modern state of the art mobile robot system. Even better, Robotino is a 100% open-source robot. <a href="http://svn.openrobotino.org/">SVN</a><br />
<br />
Robotino is support for the Robot Operating System (ROS).<br />
<br />
Robotino is programmable in various languages including C, C++, Java, .Net, Matlab, LabVIEW and Microsoft Robotics Developer Studio.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-28547837340726447612014-08-22T09:08:00.000+08:002014-08-22T09:08:32.578+08:00Autonomous Aerial Robot<a href="https://pixhawk.ethz.ch/">PIXHAWK</a><br />
<br />
The project is developing robotics framework for micro air vehicles.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-8988223860169689495.post-90965711190516580532014-07-26T10:03:00.001+08:002014-07-28T14:01:11.746+08:00How to disable start up sound in MacBook AirIt has puzzled me for a long time, especially at midnight. <br />
<br />
<div class="p1">
$ sudo nvram --help</div>
<div class="p1">
nvram: (usage: no such option as --)</div>
<div class="p1">
nvram [-x] [-p] [-f filename] [-d name] [-c] name[=value] ...</div>
<div class="p1">
<span class="Apple-tab-span"> </span>-x use XML format for printing or reading variables</div>
<div class="p1">
<span class="Apple-tab-span"> </span> (must appear before -p or -f)</div>
<div class="p1">
<span class="Apple-tab-span"> </span>-p print all firmware variables</div>
<div class="p1">
<span class="Apple-tab-span"> </span>-f set firmware variables from a text file</div>
<div class="p1">
<span class="Apple-tab-span"> </span>-d delete the named variable</div>
<div class="p1">
<span class="Apple-tab-span"> </span>-c delete all variables</div>
<div class="p1">
<span class="Apple-tab-span"> </span>name=value set named variable</div>
<div class="p1">
<span class="Apple-tab-span"> </span>name print variable</div>
<div class="p1">
Note that arguments and options are executed in order.</div>
<div class="p1">
<br /></div>
<div class="p1">
$ sudo nvram SystemAudioVolume=%80</div>
<div class="p1">
$ sudo nvram -p | grep SystemAudioVolume</div>
<br />
<div class="p1">
SystemAudioVolume<span class="Apple-tab-span"> </span>%80</div>
Unknownnoreply@blogger.com0