embeded/Cortex-M7 STM2024. 7. 19. 11:12

480MHz의 Coretx-M7 / Cortex-M4가 달려있는 듀얼 코어 cpu이다.

Dual core
• 32-bit Arm® Cortex®-M7 core with doubleprecision FPU and L1 cache: 16 Kbytes of data and 16 Kbytes of instruction cache; frequency up to 480 MHz, MPU, 1027 DMIPS/ 2.14 DMIPS/MHz (Dhrystone 2.1), and DSP instructions
• 32-bit Arm® 32-bit Cortex®-M4 core with FPU, Adaptive real-time accelerator (ART Accelerator) for internal flash memory and external memories, frequency up to 240 MHz, MPU, 300 DMIPS/1.25 DMIPS /MHz (Dhrystone 2.1), and DSP instructions

 

ART 가속에 대해서는 머라머라 써있는데 이해를 못하겠고..

대충 온칩 메모리(SRAM)과 플래시에 대해서 대기없는 접근이 가능하다 정도로 이해..

그런데 Cortex-M4 에만 달려서 테시등을 확인하는걸 보면.. M4 쪽이 slave 구성인가 싶기도 하다

The acceleration is achieved by loading selected code into an embedded cache and making it instantly available to the Cortex-M4 core, thus avoiding latency due to memory wait states.

ART™ accelerator features:
• 32-bit AHB slave port to interface with the D2 domain
• 32-bit AHB master port for non-cacheable memory accesses
• 64-bit AXI master port to load the code from memory to cache
• 64 cache lines of 256 bits
• Fully-associative cache
• Programmable cacheable page
• Cache content consistency checker

[링크 : https://www.st.com/content/ccc/resource/training/technical/product_training/group0/7d/83/8c/1f/3a/1c/43/1e/STM32H7-System-Adaptive_Real-Time_Accelerator_ART/files/STM32H7-System-Adaptive_Real-Time_Accelerator_ART.pdf/_jcr_content/translations/en.STM32H7-System-Adaptive_Real-Time_Accelerator_ART.pdf]

 

 

stm32h747xi 와 stm32h757xi 로 eval 보드가 있는데

두 칩 간 주요 차이점은 757은 암호화 모듈이 내장되어 있다는 것  정도?

 

D1 domain 에는 cortex-M7이 있는 것 같고. M7 에만 TCM(tightly coupled memory)가 달려있다.

D2 domain 에는 Cortex-M4가 있고 플래시가 없다? D1 domain으로 접근해서 Flash에서 펌웨어를 불러오게 되는 구조 같다.

D3 domain 에는 DBMA / SDRAM 64k / Backup SRAM 4k 가 있는데 얘는 절전모드 용인가?

AHB는 1<->2<->3 그리고 1<->3 간에 존재하여 어느쪽이던 많이 돌지 않고 접근이 가능하다.

 

 

부팅은 BOOT0 핀과 BOOT_ADDx 옵션 바이트에 의해서 결정되는데

BOOT0 핀이 0이면

CM7은 플래시의 0x0800_000을 사용하고 

CM4는 플래시의 0x0810_000을 사용한다.

BCM4/7은 SYSCFG_UR1 레지스터에 존재하는 녀석인데 얜 어느 시점에 누가 설정하지?

3.2 Dual-core boot
At startup, the boot memory space is selected by the BOOT pin and BOOT_ADDx option bytes, allowing to
program any boot memory address from 0x0000 0000 to 0x3FFF FFFF which includes all Flash address space,
all RAM address space (ITCM, DTCM RAMs and SRAMs) and the System memory bootloader.
The boot address is provided by option byte and default programmed value to allow:
• CM7 Boots from Flash memory at 0x0800 0000 when Boot0=0
• CM4 Boots from Flash memory at 0x0810 0000 when Boot0=0
• Boot respectively from System memory or SRAM1 when Boot0=1
The values on the BOOT pin are latched on the 4th rising edge of SYSCLK after reset release. It is up to the user
to set the BOOT pin after reset as shown in the figure below.

If the programmed boot memory address is out of the memory mapped area or a reserved area, the default boot
fetch address is:
• BCM7_ADD0: FLASH at 0x0800 0000
• BCM4_ADD0: FLASH at 0x0810 0000
• BCM7_ADD1: System Memory at 0x1FF0 0000
• BCM4_ADD1: SRAM1 at 0x1000 0000
When Flash level 2 protection is enabled, only boot from Flash or system is available. If boot address is out
of the memory range or RAM address, then the default fetch is forced from Flash at address 0x0800 0000 for
Cortex®‑M7 and Flash at address 0x0810 0000 for Cortex®-M4. In the STM32H7 dual‑core, to maximize energy
efficiency, each core operates in its own power domain and can be turned off individually when not needed. The
two cores can boot alone or in the same time according to the option bytes as shown in Table 4.

[링크 : https://www.st.com/resource/en/application_note/an5557-stm32h745755-and-stm32h747757-lines-dualcore-architecture-stmicroelectronics.pdf]

 

아니 최소한 하나의 문서에 어디라고 표기는 해달라고 -_ㅠ

477p - BOOT_C1 / BOOT_C2

 

601p - BCM7 / BCM4 reset value가 x면 도대체 머라고 해석해야 하지?

[링크 : https://www.st.com/resource/en/reference_manual/rm0399-stm32h745755-and-stm32h747757-advanced-armbased-32bit-mcus-stmicroelectronics.pdf]

 

'embeded > Cortex-M7 STM' 카테고리의 다른 글

STM32H757 User configuration  (0) 2024.07.22
STM32CubeProgrammer  (0) 2024.07.22
FT5336 - 정전식 터치 i2c  (0) 2021.07.06
stm32f4 otg update bin file  (0) 2021.07.02
stm32cubeide generate bin  (0) 2021.07.02
Posted by 구차니
프로그램 사용/meld2024. 7. 19. 10:50

meld 에서 항상 옆으로 길게 보이다 보니 어떻게 설정을 해야 하나 찾아보는데

용어가 나중에 겨우 기억나서 검색..

word wrap

 

아무튼 Meld - Preference - 편집기 - 표시 에서

Enable text wrapping 과

Do not split words over two lines 를 체크해주면 된다.

 

 

[링크 : https://superuser.com/questions/1716173/meld-wrap-lines-keep-whole-words]

Posted by 구차니
프로그램 사용/qemu2024. 7. 19. 09:27

x86 에서 arm을 qemu를 통해 해보고 싶어져서 찾아보는 중

 

$ sudo apt install qemu-system-arm

[링크 : https://ubuntu.com/server/docs/boot-arm64-virtual-machines-on-qemu]

 

$ sudo apt-get install gcc-arm-linux-gnueabihf libc6-dev-armhf-cross qemu-user-static

[링크 : https://gist.github.com/luk6xff/9f8d2520530a823944355e59343eadc1]

'프로그램 사용 > qemu' 카테고리의 다른 글

colo qemu  (0) 2019.03.25
qcow2  (0) 2019.02.01
qemu on windows  (0) 2012.04.24
qemu 사용하기  (0) 2012.04.11
qemu / qemu-launcher  (0) 2012.04.08
Posted by 구차니

이상하게(?) 차를 가지고 나가고 싶더라니

오후 3시 쯤에 전화와서는

주차하다 박았다고 자진신고(!)가 들어왔다.

보험처리 하면 되니까 걱정하지 마시라고 보험 접수해달라고 해서 진행중

부품이 오래된 차라 안나와 펴고 페인트 바르는걸로 해서

월/화 진행될 듯.

 

평소에 안대던 위치에 댄 내가 잘못일까..

오늘 가지고 갔어야 했는데 안가지고 간 내가 잘못일까 ㅋㅋ

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

카페 마카우  (0) 2024.07.21
비비비  (0) 2024.07.20
비. 아니 폭우  (0) 2024.07.17
머했지?  (0) 2024.07.07
워터파크  (0) 2024.07.05
Posted by 구차니
개소리 왈왈/컴퓨터2024. 7. 18. 12:43

리눅스용으로 만든녀석이 i7-3770 이고,

회사에서 쓰는건 i7-10510U 인데

단일 코어 기준으로는 성능이 동일하다. (신기하네)

 

노트북이 좋아졌다고 해야하나(소비전력 대비 성능)

그럼에도 불구하고 데탑cpu가 넘사벽이라고 해야하나..

[링크 : https://cpu.userbenchmark.com/Compare/Intel-Core-i7-3770-vs-Intel-Core-i7-10510U/1979vsm891469]

'개소리 왈왈 > 컴퓨터' 카테고리의 다른 글

키보드 튜닝  (0) 2024.08.01
노트북 휴대용 책상(?)  (2) 2024.07.26
3세대 intel 데스크탑 USB3.0  (0) 2024.07.16
빨콩 교체!  (0) 2024.07.16
아부지 컴퓨터 교체  (0) 2024.07.13
Posted by 구차니
개소리 왈왈/블로그2024. 7. 18. 11:10

갑자기 글 목록이 쪼그라 들었다?

브라우저 두개다 그런거 보면 티스토리에서 먼가 css를 잘못건드린거 같은디..

 

크롬

 

파이어폭스

Posted by 구차니
Programming/node.js2024. 7. 18. 10:58

색상을 포함한 스타일 지정 가능한 라이브러리 찾는중

예제를 봐서는 멀티시트도 지원

 

[링크 : https://www.npmjs.com/package/node-excel-export]

'Programming > node.js' 카테고리의 다른 글

web qr decoder  (0) 2024.04.04
node.js 웹소켓 채팅 서버 예제  (0) 2022.07.14
ubuntu 18.04 / nodej.s 18.x 실패  (0) 2022.05.19
웹소켓  (0) 2022.03.25
broadway / jsmpeg  (0) 2020.09.16
Posted by 구차니
프로그램 사용/kinect2024. 7. 17. 23:55

아.. 역시 컴퓨터를 바꾸면 잘되는구나.. (어?)

 

심심해서 키넥트 본체는 연결안하고 허브만 연결했더니 당연하게(?) 허브만 뜬다.

 

파란 부분은 키넥트 본체를 꼽아야만 뜨는 부분

$ sudo dmesg -w
[ 1780.341670] usb 4-4: new SuperSpeed USB device number 8 using xhci_hcd
[ 1781.804378] usb 3-4: new high-speed USB device number 7 using xhci_hcd
[ 1781.954783] usb 3-4: New USB device found, idVendor=045e, idProduct=02d9, bcdDevice= 0.70
[ 1781.954794] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1781.954797] usb 3-4: Product: NuiSensor Adaptor      
[ 1781.954800] usb 3-4: Manufacturer: Microsoft Corporation  
[ 1781.955676] hub 3-4:1.0: USB hub found
[ 1781.955807] hub 3-4:1.0: 1 port detected
[ 1783.324924] usb 4-4: New USB device found, idVendor=045e, idProduct=02d9, bcdDevice= 0.73
[ 1783.324936] usb 4-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1783.324940] usb 4-4: Product: NuiSensor Adaptor      
[ 1783.324942] usb 4-4: Manufacturer: Microsoft Corporation  
[ 1783.326192] hub 4-4:1.0: USB hub found
[ 1783.326380] hub 4-4:1.0: 1 port detected
[ 1783.808453] usb 4-4.1: new SuperSpeed USB device number 9 using xhci_hcd
[ 1783.829395] usb 4-4.1: New USB device found, idVendor=045e, idProduct=02d8, bcdDevice= 1.00
[ 1783.829404] usb 4-4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=4
[ 1783.829408] usb 4-4.1: Product: Xbox NUI Sensor
[ 1783.829410] usb 4-4.1: Manufacturer: Microsoft
[ 1783.829413] usb 4-4.1: SerialNumber: 501441643042

 

빌드하고 실행하니

~/src/libfreenect2/build/bin$ ./Protonect 
Version: 0.2.0
Environment variables: LOGFILE=<protonect.log>
Usage: ./Protonect [-gpu=<id>] [gl | cl | clkde | cuda | cudakde | cpu] [<device serial>]
        [-noviewer] [-norgb | -nodepth] [-help] [-version]
        [-frames <number of frames to process>]
To pause and unpause: pkill -USR1 Protonect
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] 10 usb devices connected
[Info] [Freenect2Impl] found valid Kinect v2 @4:5 with serial 501441643042
[Info] [Freenect2Impl] found 1 devices
libva info: VA-API version 1.14.0
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[Error] [VaapiRgbPacketProcessorImpl] vaInitialize(display, &major_ver, &minor_ver): unknown libva error
[Info] [Freenect2DeviceImpl] opening...
[Info] [Freenect2DeviceImpl] transfer pool sizes rgb: 20*16384 ir: 60*8*33792
[Info] [Freenect2DeviceImpl] opened
[Info] [Freenect2DeviceImpl] starting...
[Debug] [Freenect2DeviceImpl] status 0x090000: 9729
[Debug] [Freenect2DeviceImpl] status 0x090000: 9731
[Info] [Freenect2DeviceImpl] submitting rgb transfers...
[Info] [Freenect2DeviceImpl] submitting depth transfers...
[Debug] [DepthPacketStreamParser] not all subsequences received 0
[Info] [Freenect2DeviceImpl] started
device serial: 501441643042
device firmware: 4.0.3911.0
[Debug] [DepthPacketStreamParser] not all subsequences received 768
[Debug] [DepthPacketStreamParser] skipping depth packet
[Debug] [DepthPacketStreamParser] skipping depth packet
[Debug] [DepthPacketStreamParser] skipping depth packet
[Debug] [DepthPacketStreamParser] skipping depth packet
[Debug] [DepthPacketStreamParser] skipping depth packet
[Debug] [DepthPacketStreamParser] skipping depth packet
[Info] [DepthPacketStreamParser] 6 packets were lost
[Info] [OpenGLDepthPacketProcessor] avg. time: 16.9263ms -> ~59.0797Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: 15.0939ms -> ~66.2519Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: 14.96ms -> ~66.8449Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: 15.5262ms -> ~64.4071Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: 14.8158ms -> ~67.4954Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: 15.8073ms -> ~63.2617Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: 14.3364ms -> ~69.7524Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: 16.633ms -> ~60.1215Hz

 

잘나온다. 저번에 10세대에서는 카메라 영상(좌하단)과 3d로 재구성된 영상(우상단)이 찌그러지던데, 무슨 차이이려나?

 

 

'프로그램 사용 > kinect' 카테고리의 다른 글

libfreenect2 on 2760p 성공  (0) 2024.08.18
libfreenect2 실행 성공..  (0) 2024.07.15
libfreenect2 실행 실패  (0) 2024.07.14
libfreenect2 CUDA 끄고 빌드 성공  (0) 2024.07.13
kinect v2 / freenect 실패  (0) 2024.07.09
Posted by 구차니

팔당건너려는데 40분 이상 걸린듯

가봤더니 하남방향 지하차도가 침수인지 침수직전인지 모르겠는데 통제되고

스타필드 쪽으로 우회하게 하는 바람에 더 심했던 듯.

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

비비비  (0) 2024.07.20
이게 먼일이다냐  (2) 2024.07.18
머했지?  (0) 2024.07.07
워터파크  (0) 2024.07.05
재현하늘창 중문 수리  (2) 2024.06.29
Posted by 구차니
개소리 왈왈/컴퓨터2024. 7. 16. 18:12

이 native였나 기억이 안나네

그러니 일단 포맷하고 해보자? ㅋㅋ

 

원래 주웠던 사양대로 환원하고 (i7-3770)

메모리는 좀 아쉽지만 4GB * 2 로 구성해서

USB3.0 쪽으로 kinect2를 달아봐야겠다.

 

2023.10.30 - [개소리 왈왈/컴퓨터] - mitx 한대 줍줍

 

+

칩셋을 찾아보니 7x 시리즈 부터(ivy bridge) 부터 ICH에 통합되서 USB3.0을 지원하기 시작한 듯 하다.

itx 메인보드가 P8H77 인데 메인보드에 USB3.0 포트가 있다고 명시되어 있는걸 보면 조금 희망이 보이는 듯?

[링크 : https://namu.wiki/w/인텔/칩셋]

 

'개소리 왈왈 > 컴퓨터' 카테고리의 다른 글

노트북 휴대용 책상(?)  (2) 2024.07.26
회사 노트북 vs 구형 컴퓨터  (5) 2024.07.18
빨콩 교체!  (0) 2024.07.16
아부지 컴퓨터 교체  (0) 2024.07.13
express card 34 to USB 3.0 도착 (uPD720202)  (0) 2024.07.08
Posted by 구차니