'embeded'에 해당되는 글 1341건

  1. 2023.08.09 arm vsub operator
  2. 2023.08.07 ARM NEON SLP
  3. 2023.07.28 잘가 tms320 ㅠㅠ
  4. 2023.07.24 라즈베리 파이 openOCD jtag?
  5. 2023.07.22 ftdi jtag
  6. 2023.07.21 cortex a9 ptm
  7. 2023.07.21 xilinx zynq jtag 2
  8. 2023.07.19 stm32 reset 없이 JTAG 붙이기
  9. 2023.07.14 CCSv8.3.1 on win10
  10. 2023.07.14 CCS v8.3.1 on ubuntu 22.04
embeded/ARM2023. 8. 9. 13:54

저번에 작성한 프로그램에서 VFP 를 통한 연산가속을 활성화 해봤는데 혹시나 해서, 어떤 명령어를 이용했나 역으로 찾아보는 중

   111a0: f35668e8  vsub.i16 q11, q11, q12
   1120c: f35318a1  vsub.i16 d17, d19, d17
   1172c: f2600de8  vsub.f32 q8, q8, q12
   11730: f2644de8  vsub.f32 q10, q10, q12
   11784: ee377a46  vsub.f32 s14, s14, s12
   117a8: ee755ac6  vsub.f32 s11, s11, s12
   117c0: ee744ac6  vsub.f32 s9, s9, s12
   117d8: ee355a46  vsub.f32 s10, s10, s12
   117f0: ee755ac6  vsub.f32 s11, s11, s12
   1180c: ee744ac6  vsub.f32 s9, s9, s12
   11818: ee355a46  vsub.f32 s10, s10, s12
   11824: ee356ac6  vsub.f32 s12, s11, s12
   11844: f2600de8  vsub.f32 q8, q8, q12
   11848: f2644de8  vsub.f32 q10, q10, q12
   118a8: ee344a67  vsub.f32 s8, s8, s15
   118d4: ee744ae7  vsub.f32 s9, s9, s15
   118ec: ee355a67  vsub.f32 s10, s10, s15
   11908: ee755ae7  vsub.f32 s11, s11, s15
   11918: ee344a67  vsub.f32 s8, s8, s15
   11924: ee744ae7  vsub.f32 s9, s9, s15
   11930: ee355a67  vsub.f32 s10, s10, s15
   1193c: ee757ae7  vsub.f32 s15, s11, s15

역어셈블 해보니 위와 같이 vsub.i16과 같은 neon 으로도 될 것 같은 녀석은 패스하면 vsub.f32 밖에 없다.

 

vsub.f32가 neon 껀지 vfp껀지 궁금해서 찾아보는 중

VSUB (floating-point)
Floating-point subtract.
This instruction can be scalar, vector, or mixed, but VFP vector mode and mixed mode are deprecated.

[링크 : https://developer.arm.com/documentation/dui0489/i/neon-and-vfp-programming/vsub--floating-point-]

 

Instruction Section Instruction set
V{Q}SUB V{Q}SUB, VSUBL and VSUBW NEON
VSUB VSUB VFP

[링크 : https://developer.arm.com/documentation/den0018/a/NEON-and-VFP-Instruction-Summary/List-of-all-NEON-and-VFP-instructions]

 

cortex a9의 NEON MPE는 Advanced SIMD와 VFP 확장을 구현하였지만

IEEE754 연산중 아래의 연산을 하드웨어적으로 제공하지 않는다 인데

round float-point number to nearest integer-valued in floating point number 때문에

gcc 에서 --fast-math 를 켜줘야 VFP 명령이 활성화 되는걸까?

IEEE754 standard compliance
The IEEE754 standard provides a number of implementation choices. The ARM Architecture Reference Manual describes the choices that apply to the Advanced SIMD and VFPv3 architectures.

The Cortex-A9 NEON MPE implements the ARMv7 Advanced SIMD and VFP extensions. It does not provide hardware support for the following IEEE754 operations:

remainder
round floating-point number to nearest integer-valued in floating-point number
binary-to-decimal conversion
decimal-to-binary conversion
direct comparison of single-precision and double-precision values
any extended-precision operations.

[링크 : https://developer.arm.com/documentation/ddi0409/e/programmers-model/ieee754-standard-compliance]

 

+

다시 옵션에 따른 비교를 해보니

어찌 된게 ffast-math 한게 디스어셈블한 부분이 더 길다.. 그런데 왜 빠르지?

for (int i = 0; i < READ_SIZE; i += 2)
   11710: f3f48c46  vdup.32 q12, d6[0]
float diff = data[i] - avg_0;
   11714: f46c434d  vld2.16 {d20-d23}, [ip]!
   11718: f2d00a34  vmovl.s16 q8, d20
   1171c: e151000c  cmp r1, ip
   11720: f2d04a35  vmovl.s16 q10, d21
   11724: f3fb0660  vcvt.f32.s32 q8, q8
   11728: f3fb4664  vcvt.f32.s32 q10, q10
   1172c: f2600de8  vsub.f32 q8, q8, q12
   11730: f2644de8  vsub.f32 q10, q10, q12
std_0 += diff * diff;
   11734: f3400df0  vmul.f32 q8, q8, q8
   11738: f2440df4  vmla.f32 q8, q10, q10
   1173c: f2422de0  vadd.f32 q9, q9, q8
for (int i = 0; i < READ_SIZE; i += 2)
   1177c: e15e000c  cmp lr, ip
float diff = data[i] - avg_0;
   11780: ee072a90  vmov s15, r2
   11784: eef87ae7  vcvt.f32.s32 s15, s15
   11788: ee777ac6  vsub.f32 s15, s15, s12
std_0 += diff * diff;
   1178c: ee077aa7  vmla.f32 s14, s15, s15

 

흐으으으으음.. 어셈은 어려워 -_ㅠ

Instruction Section Instruction set
VMLA VMUL, VMLA, VMLS, VNMUL, VNMLA, and VNMLS VFP
VMLA{L} VMUL{L}, VMLA{L}, and VMLS{L} (by scalar) NEON

[링크 : https://developer.arm.com/documentation/den0018/a/NEON-and-VFP-Instruction-Summary/List-of-all-NEON-and-VFP-instructions]

'embeded > ARM' 카테고리의 다른 글

cortex-a53  (0) 2023.08.31
aarch64 vector register  (0) 2023.08.23
ARM NEON SLP  (0) 2023.08.07
cortex a9 ptm  (0) 2023.07.21
openOCD와 jtag  (0) 2023.07.06
Posted by 구차니
embeded/ARM2023. 8. 7. 19:10

SLP가 먼가 해서 보는데 gcc/gnu 문서 내에서는 없어서

 

word 보다 더 큰 크기의 데이터들에 대해서(super word level) 병렬화(parallelism) 한다는 의미인가?

Superword-Level Parallelism (SLP) vectorizer

[링크 : https://rcor.me/papers/cgo19snslp.pdf]

[링크 : https://llvm.org/docs/Vectorizers.html#slp-vectorizer]

 

Example 20: Basic block SLP with multiple types, loads with different offsets, misaligned load, and not-affine accesses:

void foo (int * __restrict__ dst, short * __restrict__ src,
          int h, int stride, short A, short B)
{
  int i;
  for (i = 0; i < h; i++)
    {
      dst[0] += A*src[0] + B*src[1];
      dst[1] += A*src[1] + B*src[2];
      dst[2] += A*src[2] + B*src[3];
      dst[3] += A*src[3] + B*src[4];
      dst[4] += A*src[4] + B*src[5];
      dst[5] += A*src[5] + B*src[6];
      dst[6] += A*src[6] + B*src[7];
      dst[7] += A*src[7] + B*src[8];
      dst += stride;
      src += stride;
    }
}

[링크 : https://gcc.gnu.org/projects/tree-ssa/vectorization.html#slp]

 

 

'embeded > ARM' 카테고리의 다른 글

aarch64 vector register  (0) 2023.08.23
arm vsub operator  (0) 2023.08.09
cortex a9 ptm  (0) 2023.07.21
openOCD와 jtag  (0) 2023.07.06
cmsis (Common Microcontroller Software Interface Standard)  (0) 2023.02.27
Posted by 구차니
embeded/DSP C2000 Ti2023. 7. 28. 09:30

실수로 5V 짜리에 24V를 넣어버렸다 -_ㅠ

이제 TMS는 다시는 볼일이 없을 느낌 ㅠㅠ

 

 

얘가 망가졌을 것 같은데

[링크 : https://www.ti.com/product/ko-kr/TPS767D301-EP]

 

와.. 1개 1.6만 -_- 수리 포기

[링크 : https://www.mouser.kr/ProductDetail/Texas-Instruments/TPS767D301MPWPREP?qs=kujVBWBDkXIrGr50CbsOmQ%3D%3D]

'embeded > DSP C2000 Ti' 카테고리의 다른 글

CCSv8.3.1 on win10  (0) 2023.07.14
CCS v8.3.1 on ubuntu 22.04  (0) 2023.07.14
spectrum digital XDS510 USB  (0) 2023.07.14
TMS320 소비전력  (0) 2023.07.13
tms320 어렵네...  (4) 2020.04.02
Posted by 구차니
embeded/raspberry pi2023. 7. 24. 10:52

openOCD(ftdi jtag) - rpi 3 jtag 연결

[링크 : https://ahyuo79.blogspot.com/2020/02/openocd-ftdi-jtag.html]

 

빠르다면 빠른 속도.

Part No: FT2232HQ
USB Hi-Speed to Dual Channel Serial UART/FIFO/JTAG/SPI/I2C IC, QFN-64
Hi-speed USB 2.0 Slave to Dual Channel UART / Serial Converter

 Data Rates: 12Mbaud (UART) up to 40MB/s (Sync FIFO)  USB Transfer Modes: Bulk  Interfaces: UART, FIFO, 2 x MPSSE, Fast serial, 8051 MCU emulation, 16 GPIOs  USB Host: No  Packages: 64-pin QFN  Channels: 2  I/O Voltage: 3.3V  USB Class: Vendor  Virtual Com Port: Yes  Operating Temperature: -40°C to +85°C
Standard Price (Easy checkout)
Order Quantity Price per Unit
1 - 9 : USD5.10
10 - 49 : USD4.90
50 - 99 : USD4.80
100 - 249 : USD4.70
250 - 499 : USD4.50
500 - 999 : USD4.25

Key Hardware Features
Single chip USB to dual serial / parallel ports with a variety of configurations.
Entire USB protocol handled on the chip. No USB specific firmware programming required.
USB 2.0 High Speed (480Mbits/second) and Full Speed (12Mbits/second) compatible.
Dual Multi-Protocol Synchronous Serial Engine (MPSSE) to simplify synchronous serial protocol (USB to JTAG, I2C, SPI or bit-bang) design.
Dual independent UART or FIFO ports configurable using MPSSEs.
Independent Baud rate generators.
RS232/RS422/RS485 UART Transfer Data Rate up to 12Mbaud. (RS232 Data Rate limited by external level shifter).
USB to parallel FIFO transfer data rate up to 10Mbyte/sec.
Single channel synchronous FIFO mode for transfers up to 40 Mbytes/sec.
CPU-style FIFO interface mode simplifies CPU interface design.
MCU host bus emulation mode configuration option.
Fast Opto-Isolated serial interface option.
FTDI’s royalty-free Virtual Com Port (VCP) and Direct (D2XX) drivers eliminate the requirement for USB driver development in most cases.
Adjustable receive buffer timeout.
Option for transmit and receive LED drive signals on each channel.
Enhanced bit-bang Mode interface option with RD# and WR# strobes.
FT245B-style FIFO interface option with bidirectional data bus and simple 4 wire handshake interface.
Highly integrated design includes +1.8V LDO regulator for VCORE, integrated POR function and on chip clock multiplier PLL (12MHz – 480MHz).
Asynchronous serial UART interface option with full hardware handshaking and modem interface signals.
Fully assisted hardware or X-On / X-Off software handshaking.
UART Interface supports 7/8 bit data, 1/2 stop bits, and Odd/Even/Mark/Space/No Parity.
Auto-transmit enable control for RS485 serial applications using TXDEN pin.
Operational configuration mode and USB Description strings configurable in external EEPROM over the USB interface.
Configurable I/O drive strength (4,8,12 or 16mA) and slew rate.
Low operating and USB suspend current.
Supports bus powered, self powered and high-power bus powered USB configurations.
UHCI/OHCI/EHCI host controller compatible.
USB Bulk data transfer mode (512 byte packets in Hi-Speed mode).
+1.8V (chip core) and +3.3V I/O interfacing (+5V Tolerant).
Extended -40°C to 85°C industrial operating temperature range.
Compact 64-LD Lead Free LQFP/LQFN package and 56-LD VQFN packages.
+3.3V single supply operating voltage range.

[링크 : https://ftdichip.com/products/ft2232hq/]

 

[링크 : https://ftdichip.com/software-examples/mpsse-projects/ftcjtag-examples/]

[링크 : https://ftdichip.com/software-examples/mpsse-projects/]

 

 

'embeded > raspberry pi' 카테고리의 다른 글

DHT22 도착!  (0) 2023.09.19
bmp280 HW-611  (0) 2023.09.19
rpi bear metal  (0) 2023.07.10
라즈베리 3 전원 off  (0) 2023.07.02
rpi win 10 IoT  (0) 2023.02.02
Posted by 구차니
embeded/FPGA - XILINX2023. 7. 22. 23:05

Xilinx FPGA용 그마나 저렴한 jtag인데 64$

[링크 : https://digilent.com/shop/jtag-hs2-programming-cable/]

 

정품은 270$

[링크 : https://www.xilinx.com/products/boards-and-kits/hw-usb-ii-g.html]

 

아무튼 jtag-hs2를 연결해서 리눅스에서 보면 그냥 시리얼 포트다 (연결되었다 끊어지지만)

$ lsusb -t -v
    |__ Port 2: Dev 3, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 480M
        ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC

$ sudo dmesg
[  924.904844] usb 1-2: new high-speed USB device number 14 using xhci_hcd
[  925.059009] usb 1-2: New USB device found, idVendor=0403, idProduct=6014, bcdDevice= 9.00
[  925.059027] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  925.059034] usb 1-2: Product: Digilent USB Device
[  925.059040] usb 1-2: Manufacturer: Digilent
[  925.059045] usb 1-2: SerialNumber: 0000000000
[  925.066084] ftdi_sio 1-2:1.0: FTDI USB Serial Device converter detected
[  925.066178] usb 1-2: Detected FT232H
[  925.067712] usb 1-2: FTDI USB Serial Device converter now attached to ttyUSB0
[  925.104014] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[  925.104066] ftdi_sio 1-2:1.0: device disconnected

[링크 : https://www.ftdichip.com/old2020/Products/ICs/FT232H.htm]

 

FT232H 만은 싼데.. EVK 나 이런건 가격이 도대체 몇배가 뛰는거냐.. (억울하면 직접 만들어야?)

1: ₩5,301.6
25: ₩4,802.4
100: ₩4,667.5
250: ₩4,478.7

[링크 : https://www.mouser.kr/c/?marcom=123533426]

 

'embeded > FPGA - XILINX' 카테고리의 다른 글

xilinx zynq jtag  (2) 2023.07.21
zynq 7000 fsbl  (0) 2023.07.12
zynq fsbl  (0) 2023.07.07
zynq w/o ps  (0) 2023.06.30
xilinx uartlite on zynq  (0) 2023.05.16
Posted by 구차니
embeded/ARM2023. 7. 21. 19:04

PTM은 Program Trace Macrocell의 약자로 말그대로 프로그램을 추적하는 녀석이라

데이터만을 추적하는 기능은 제공하지 않는 듯.

 

CortexA9의 PTM과 같이 데이터 트레이스를 지원하지 않는 환경에서 ITM은 제한적으로나마 데이터 트레이스를 해볼 수 있는 방안을 제공한다

[링크 : https://www.epnc.co.kr/news/articleView.html?idxno=45715]

 

PTM interface
The Cortex-A9 processor optionally implements a Program Trace Macrocell (PTM) interface, that is compliant with the Program Flow Trace (PFT) instruction-only architecture protocol. Waypoints, changes in the program flow or events such as changes in context ID, are output to enable the trace to be correlated with the code image.

[링크 : https://developer.arm.com/documentation/100511/0401/functional-description/about-the-functions/ptm-interface]

 

 

'embeded > ARM' 카테고리의 다른 글

arm vsub operator  (0) 2023.08.09
ARM NEON SLP  (0) 2023.08.07
openOCD와 jtag  (0) 2023.07.06
cmsis (Common Microcontroller Software Interface Standard)  (0) 2023.02.27
i.mx8m plus arm trust zone  (0) 2023.02.24
Posted by 구차니
embeded/FPGA - XILINX2023. 7. 21. 18:02

zynq 에서 PS와 PL 이 어떻게 디버깅 가능하려나 조사중

분위기만 봐서는 PL JTAG을 써도 ARM DAP 쪽으로 chain으로 연결되어 있어서 가능은 할 것 같은데..

 

[링크 : https://www.xilinx.com/content/dam/xilinx/support/documents/user_guides/ug585-Zynq-7000-TRM.pdf#nameddest=xJTAGAndDAPSubsystem]

 

갑자기 나온 PJTAG 얜 또 머냐

[링크 : https://docs.xilinx.com/r/en-US/ug1085-zynq-ultrascale-trm/Features?tocId=E4XCBg8P~M_uLRK6uggTiQ]

[링크 : https://docs.xilinx.com/r/en-US/ug1085-zynq-ultrascale-trm/JTAG-Chain-Boot-States]

 

[링크 : https://www.xilinx.com/support/documentation-navigation/design-hubs/dh0055-zynq-7000-debug-hub.html]

 

PJTAG 쓰면 된다는데 이제는 DAP과 TAP이 먼지공부하게 생겼네

Using PJTAG you can access DAP. With Xilinx JTAG you can access both TAP and DAP

[링크 : https://support.xilinx.com/s/question/0D52E00006hps2qSAA/difference-xilinx-jtag-and-arm-pjtag?language=en_US]

'embeded > FPGA - XILINX' 카테고리의 다른 글

ftdi jtag  (0) 2023.07.22
zynq 7000 fsbl  (0) 2023.07.12
zynq fsbl  (0) 2023.07.07
zynq w/o ps  (0) 2023.06.30
xilinx uartlite on zynq  (0) 2023.05.16
Posted by 구차니
embeded/Cortex-M3 STM2023. 7. 19. 19:19

stm32를 찾아봐야 하나..

gdb 문법은 아닌듯 한데 stm32 전용 구문들이려나?

 

# custom.cfg
source [find interface/stlink-v2-1.cfg]
transport select "hla_swd"

source [find stm32f4x.cfg]

reset_config none

 

 

[링크 : https://www.openstm32.org/forumthread1967]

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

STM32H/STM32G 시리즈 시리얼 포트 데이터 order  (0) 2022.08.29
stm32 wdg 최대 설정시간  (0) 2021.08.09
stm32 RST pull-up reset fail  (0) 2021.08.02
STM32 RDP(ReaD Protection)  (0) 2021.07.02
stm32 uart echo  (0) 2021.02.04
Posted by 구차니
embeded/DSP C2000 Ti2023. 7. 14. 12:02

윈도우용 CCS v 8.3.1을 설치해서 시도!

일단은 리눅스에서는 안뜨던 Spectrum Digital XDS510USB가 뜬다.

버그인진 모르겠지만 Basic Example에 Hello World 로 생성하면

어셈블로로 작성된 로더쪽 스크립트 메모리 번지가 잘못되었다고 뜨는데 나중에 찾아봐야겠다.

 

 

Verify 버튼을 누르니까 아래와 같이 먼가 테스트를 한다.

JTAG에 TMS320F2808 물려두고 전원 넣어둔 상태라 그런가

scan chain에 1개의 장치가 발견되었다고 뜬다.

 

근데 정작 디버그 모드 들어가려고 하면 이렇게 에러 발생 -_-

 

저 OCS가 On Chip Storage 이런건 아니겠지?

C28xx: Error connecting to the target: Error 0x80000200/-1135 Fatal Error during: OCS,  Unrecoverable emulation error 

 

일단은~ 설정 스크립트가 지칭하는대로 따라가보자..

verify 에서 문제가 없다고 한 녀석은 아래의 경로고

C:\Users\free\AppData\Local\Texas Instruments\CCS\ti\0\0\BrdDat\testBoard.dat

# config version=3.5
$ sdopts
  emuportaddr=0x510
  emujclkmode=Counter
  emuportspeed=0
  emudisablepolling=YES
  emujclkfreqmhz=10
  emutckdiv=1
  emualttcktiming=NO
  emupowermode=Threshold_1Volt_IO
  emuiooffatexit=YES
  emuiooffatdisconnect=YES
  emu0pinlevel=HIZ
  emu1pinlevel=HIZ
  emuassertsysreset=NO
  emupulsetrst=NO
  emuserialnumber=ANY
  emuicepickrtrextended=NO
  devdelayedinit=NO
$ /
@ c28xx family=tms320c28xx irbits=38 drbits=1
# /

[링크 : https://software-dl.ti.com/ccs/esd/documents/ccsv7_debugging_jtag_connectivity_issues.html#C28x_the_debug_probe_reported_an_error]

 

HIZ 이런게 나오길래 생각을 해보니 SDConfigEx 라는 툴에서 XDS510USB로 했을때 나오던 거랑 비슷한 느낌이다?

TCK 주파수가 13에서 10으로 설정된걸 제외하면 사실상 같은 설정인 느낌.

 

겸사겸사 SDConfigEx에서도 해보니

TMS320F2808 보드에 전원과 JTAG 연결하고 emulator - test 하면 아래와 같이 성공한다.

** Emulator Test **
 $$ EmuProductName=XDS510USB
 $$ EmuPortAddr=0x510
 $$ EmuPortMode=USB
 $$ ProductId=510
 $$ ProductVersion=84
 ** Emulator Scan Test
   -- Found JTAG IR length of 3
   -- Found 1 JTAG device(s) in the scan chain

 

emulator - diagnostics 누르고 하면

 

최소한 에러는 안나는데 멀까?

** Checking for a valid emulator/eZdsp
** Running diagnostic scan on EmuProductName=XDS510USB

** Checking emulator/eZdsp scan connection

Performed 1 test loops with 0 errors.

 

 

SDConfigEx 에서 저장되는 파일은 아래 경로에 존재하는데 XML인걸 제외하면 설정값들은 동일하다.

C:\ti\ccsv8\ccs_base\emulation\specdig\sdconfigex\sdopts.xml

<SDConfiguration SelectedEmulator="XDS510USB_510">
<Emulator id="XDS510PP_3BC">3BC
                <Option id="EmuPortAddr">0X3BC</Option>
<Option id="EmuPortMode">SPP8</Option>
<Option id="EmuPortSpeed">0</Option>
<Option id="EmuAddOptoPod">NO</Option>
<Option id="EmuDisablePolling">YES</Option>
<Option id="EmuProductName">XDS510PP_PLUS</Option>
<Option id="EmuDoWaitInReset">NO</Option>
</Emulator>
<Emulator id="XDS510PP_278">278
                <Option id="EmuPortAddr">0X278</Option>
<Option id="EmuPortMode">SPP8</Option>
<Option id="EmuPortSpeed">0</Option>
<Option id="EmuAddOptoPod">NO</Option>
<Option id="EmuDisablePolling">YES</Option>
<Option id="EmuProductName">XDS510PP_PLUS</Option>
<Option id="EmuDoWaitInReset">NO</Option>
</Emulator>
<Emulator id="XDS510PP_378">378
                <Option id="EmuPortAddr">0X378</Option>
<Option id="EmuPortMode">SPP8</Option>
<Option id="EmuPortSpeed">0</Option>
<Option id="EmuAddOptoPod">NO</Option>
<Option id="EmuDisablePolling">YES</Option>
<Option id="EmuProductName">XDS510PP_PLUS</Option>
<Option id="EmuDoWaitInReset">NO</Option>
</Emulator>
<Emulator id="SPI525_100">100
                <Option id="EmuPortAddr">0X100</Option>
<Option id="EmuPortMode">PCI</Option>
<Option id="EmuPortSpeed">0</Option>
<Option id="EmuAddOptoPod">NO</Option>
<Option id="EmuDisablePolling">YES</Option>
<Option id="EmuProductName">SPI525</Option>
<Option id="EmuDoWaitInReset">NO</Option>
</Emulator>
<Emulator id="XDS510USB_510">510
                <Option id="EmuPortAddr">0X510</Option>
<Option id="EmuPortMode">USB</Option>
<Option id="EmuPortSpeed">0</Option>
<Option id="EmuAddOptoPod">NO</Option>
<Option id="EmuDisablePolling">YES</Option>
<Option id="EmuProductName">XDS510USB</Option>
<Option id="EmuDoWaitInReset">NO</Option>
<Option id="EmuJclkMode">Counter</Option>
<Option id="EmuJclkFreqMHz">13</Option>
<Option id="EmuTckDiv">1</Option>
<Option id="EmuAltTckTiming">NO</Option>
<Option id="EmuPowerMode">Threshold_1Volt_IO</Option>
<Option id="EmuIoOffAtExit">YES</Option>
<Option id="EmuIoOffAtDisconnect">YES</Option>
<Option id="Emu0PinLevel">HIZ</Option>
<Option id="Emu1PinLevel">HIZ</Option>
<Option id="EmuAssertSysReset">NO</Option>
<Option id="EmuPulseTrst">NO</Option>
<Option id="EmuSerialNumber">ANY</Option>
</Emulator>
<Emulator id="XDS510USB_511">511
                <Option id="EmuPortAddr">0X511</Option>
<Option id="EmuPortMode">USB</Option>
<Option id="EmuPortSpeed">0</Option>
<Option id="EmuAddOptoPod">NO</Option>
<Option id="EmuDisablePolling">YES</Option>
<Option id="EmuProductName">XDS510USB</Option>
<Option id="EmuDoWaitInReset">NO</Option>
<Option id="EmuJclkMode">Counter</Option>
<Option id="EmuJclkFreqMHz">13</Option>
<Option id="EmuTckDiv">1</Option>
<Option id="EmuAltTckTiming">NO</Option>
<Option id="EmuPowerMode">Threshold_1Volt_IO</Option>
<Option id="EmuIoOffAtExit">YES</Option>
<Option id="EmuIoOffAtDisconnect">YES</Option>
<Option id="Emu0PinLevel">HIZ</Option>
<Option id="Emu1PinLevel">HIZ</Option>
<Option id="EmuAssertSysReset">NO</Option>
<Option id="EmuPulseTrst">NO</Option>
<Option id="EmuSerialNumber">ANY</Option>
</Emulator>
<Emulator id="XDS510USB_512">512
                <Option id="EmuPortAddr">0X512</Option>
<Option id="EmuPortMode">USB</Option>
<Option id="EmuPortSpeed">0</Option>
<Option id="EmuAddOptoPod">NO</Option>
<Option id="EmuDisablePolling">YES</Option>
<Option id="EmuProductName">XDS510USB</Option>
<Option id="EmuDoWaitInReset">NO</Option>
<Option id="EmuJclkMode">Counter</Option>
<Option id="EmuJclkFreqMHz">13</Option>
<Option id="EmuTckDiv">1</Option>
<Option id="EmuAltTckTiming">NO</Option>
<Option id="EmuPowerMode">Threshold_1Volt_IO</Option>
<Option id="EmuIoOffAtExit">YES</Option>
<Option id="EmuIoOffAtDisconnect">YES</Option>
<Option id="Emu0PinLevel">HIZ</Option>
<Option id="Emu1PinLevel">HIZ</Option>
<Option id="EmuAssertSysReset">NO</Option>
<Option id="EmuPulseTrst">NO</Option>
<Option id="EmuSerialNumber">ANY</Option>
</Emulator>
<Emulator id="XDS510USB_513">513
                <Option id="EmuPortAddr">0X513</Option>
<Option id="EmuPortMode">USB</Option>
<Option id="EmuPortSpeed">0</Option>
<Option id="EmuAddOptoPod">NO</Option>
<Option id="EmuDisablePolling">YES</Option>
<Option id="EmuProductName">XDS510USB</Option>
<Option id="EmuDoWaitInReset">NO</Option>
<Option id="EmuJclkMode">Counter</Option>
<Option id="EmuJclkFreqMHz">13</Option>
<Option id="EmuTckDiv">1</Option>
<Option id="EmuAltTckTiming">NO</Option>
<Option id="EmuPowerMode">Threshold_1Volt_IO</Option>
<Option id="EmuIoOffAtExit">YES</Option>
<Option id="EmuIoOffAtDisconnect">YES</Option>
<Option id="Emu0PinLevel">HIZ</Option>
<Option id="Emu1PinLevel">HIZ</Option>
<Option id="EmuAssertSysReset">NO</Option>
<Option id="EmuPulseTrst">NO</Option>
<Option id="EmuSerialNumber">ANY</Option>
</Emulator>
</SDConfiguration>

 

eclipse(ccs) 에서 설정으로 쓰는 파일은 ccxml인데

connection에 instance와 platform 관련 내용으로 보면 2개 파일이 존재하낟.

C:\Users\free\workspace_v8\test\targetConfigs\TMS320F2808.ccxml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
    <configuration XML_version="1.2" id="configuration_0">
        <instance XML_version="1.2" desc="Spectrum Digital XDS510USB Emulator" href="connections/SD510USB_Connection.xml" id="Spectrum Digital XDS510USB Emulator" xml="SD510USB_Connection.xml" xmlpath="connections"/>
        <connection XML_version="1.2" id="Spectrum Digital XDS510USB Emulator">
            <instance XML_version="1.2" href="drivers/sdgo28xusb.xml" id="drivers" xml="sdgo28xusb.xml" xmlpath="drivers"/>
            <platform XML_version="1.2" id="platform_0">
                <instance XML_version="1.2" desc="TMS320F2808" href="devices/f2808.xml" id="TMS320F2808" xml="f2808.xml" xmlpath="devices"/>
            </platform>
        </connection>
    </configuration>
</configurations>

 

sdgo28xusb.xml는 드라이버(바이너리) 연결해주고 끝

C:\ti\ccsv8\ccs_base\common\targetdb\drivers\sdgo28xusb.xml

<?xml version="1.0"?>
<drivers id="TMS320C28XX">
<isa Type="TMS320C28XX" ProcID="0x5000A3F8">
<driver file="../../../emulation/drivers/sdgo28xusb.dvr">
<connectionType Type="SD510USB"/>
                        <property Type="hiddenfield" Value="true" id="realtimeEnabled" />
</driver>
</isa>
</drivers>

 

C:\ti\ccsv8\ccs_base\emulation\drivers\sdgo28xusb.dvr

 

f2808.xml은 장치별 메모리만 기재해둔 파일이다.

C:\ti\ccsv8\ccs_base\common\targetdb\devices\f2808.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  TI File $Revision: /main/10 $
  Checkin $Date: September 22, 2011   17:30:14 $
  -->


<device id="C28xx" partnum="TMS320F2808" HW_revision="1" XML_version="1" desc="TMS320F2808" description="">
  <instance href="../cpus/c28xx.xml" desc="C28xx" description="" id="C2800" isa="TMS320C28XX" xml="c28xx.xml" xmlpath="../cpus/" />
  <property Type="stringfield" Value="280x Fixed Point"   id="FilterString" />
 
  <cpu HW_revision="1.0" XML_version="1.2" description="CPU" deviceSim="false" id="C2800" isa="TMS320C28XX">
    <property Type="filepathfield" Value="../../emulation/gel/f2808.gel" id="GEL File"/>
    <!-- Project Wizard Settings -->
        <property Type="stringfield" Value="--large_memory_model --unified_memory --silicon_version=28" id="CompilerBuildOptions" /> 
        <property Type="stringfield" Value="--stack_size=0x300" id="LinkerBuildOptions" />
        <property Type="stringfield" Value="2808_RAM_lnk.cmd" id="LinkerCmd" /> 
         
    <!-- END Project Wizard Settings -->
      <instance href="../Modules/C2000/C2000_ADC_Type1_Registers.xml"                   id="ADC"          xml="C2000_ADC_Type1_Registers.xml"                           xmlpath="../Modules/C2000/" HW_version="" description="ADC Registers"                 requestor="" baseaddr="0x007100" endaddr="0x00711F" size="0x0020" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_ADC_Type1_Mirror_Registers.xml"            id="ADCMIRROR"    xml="C2000_ADC_Type1_Mirror_Registers.xml"                    xmlpath="../Modules/C2000/" HW_version="" description="ADC Mirror Registers"          requestor="" baseaddr="0x000B00" endaddr="0x000B0F" size="0x0010" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/280x_System_Control_Registers.xml"               id="SYSCTRL"      xml="280x_System_Control_Registers.xml"                       xmlpath="../Modules/C2000/" HW_version="" description="System Control Registers"      requestor="" baseaddr="0x007010" endaddr="0x00702F" size="0x0020" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_Code_Security_Module_Registers.xml"        id="CSM"         xml="C2000_Code_Security_Module_Registers.xml"                 xmlpath="../Modules/C2000/" HW_version="" description="Code Security Module"          requestor="" baseaddr="0x000AE0" endaddr="0x000AEF" size="0x0010" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_PWL_Registers.xml"                         id="PWL"          xml="C2000_PWL_Registers.xml"                                 xmlpath="../Modules/C2000/" HW_version="" description="PWL Locations"                 requestor="" baseaddr="0x3F7FF8" endaddr="0x3F7FFF" size="0x0008" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_CPU_Timer_Registers.xml"                   id="CPUTIMER"     xml="C2000_CPU_Timer_Registers.xml"                           xmlpath="../Modules/C2000/" HW_version="" description="CPU Timer Registers"           requestor="" baseaddr="0x000C00" endaddr="0x000C3F" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/280x_Device_Emulation_Registers.xml"             id="DEVEMU"       xml="280x_Device_Emulation_Registers.xml"                     xmlpath="../Modules/C2000/" HW_version="" description="Device Emulation Registers"    requestor="" baseaddr="0x000880" endaddr="0x9FF" size="0x180" accessnumbytes="4" permissions="p" />   
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Registers.xml"                id="eCANA"        xml="C2000_eCAN_Type0_Registers.xml"                        xmlpath="../Modules/C2000/" HW_version="" description="eCAN-A  Registers"             requestor="" baseaddr="0x006000" endaddr="0x006032" size="0x0033" accessnumbytes="4" permissions="p" /> 
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Local_Acceptance_Masks.xml"   id="eCANA_LAM"    xml="C2000_eCAN_Type0_Local_Acceptance_Masks.xml"           xmlpath="../Modules/C2000/" HW_version="" description="eCAN-A Local Acceptance Masks" requestor="" baseaddr="0x006040" endaddr="0x00607F" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Message_Object_Time_Stamps.xml"   id="eCANA_MOTS"     xml="C2000_eCAN_Type0_Message_Object_Time_Stamps.xml" xmlpath="../Modules/C2000/" HW_version="" description="eCAN-A Message Object Time Stamps"   requestor="" baseaddr="0x006080" endaddr="0x0060BF" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Message_Object_TimeOut.xml"   id="eCANA_MOTO"   xml="C2000_eCAN_Type0_Message_Object_TimeOut.xml"           xmlpath="../Modules/C2000/" HW_version="" description="eCAN-A Message Object Time-Outs"     requestor="" baseaddr="0x0060C0" endaddr="0x0060FF" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Mailbox_Registers.xml"        id="eCANA_MBX_CONTENT"  xml="C2000_eCAN_Type0_Mailbox_Registers.xml"          xmlpath="../Modules/C2000/" HW_version="" description="eCAN-A Mailbox Content"              requestor="" baseaddr="0x006100" endaddr="0x0061FF" size="0x0200" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Registers.xml"                id="eCANB"        xml="C2000_eCAN_Type0_Registers.xml"                        xmlpath="../Modules/C2000/" HW_version="" description="eCAN-B Control and Status Registers" requestor="" baseaddr="0x006200" endaddr="0x006232" size="0x0033" accessnumbytes="4" permissions="p" /> 
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Local_Acceptance_Masks.xml"   id="eCANB_LAM"          xml="C2000_eCAN_Type0_Local_Acceptance_Masks.xml"     xmlpath="../Modules/C2000/" HW_version="" description="eCAN-B Local Acceptance Masks"       requestor="" baseaddr="0x006240" endaddr="0x00627F" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Message_Object_Time_Stamps.xml"   id="eCANB_MOTS"     xml="C2000_eCAN_Type0_Message_Object_Time_Stamps.xml" xmlpath="../Modules/C2000/" HW_version="" description="eCAN-B Message Object Time Stamps"   requestor="" baseaddr="0x006280" endaddr="0x0062BF" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Message_Object_TimeOut.xml"   id="eCANB_MOTO"         xml="C2000_eCAN_Type0_Message_Object_TimeOut.xml"     xmlpath="../Modules/C2000/" HW_version="" description="eCAN-B Message Object Time-Outs"     requestor="" baseaddr="0x0062C0" endaddr="0x0062FF" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAN_Type0_Mailbox_Registers.xml"        id="eCANB_MBX_CONTENT"  xml="C2000_eCAN_Type0_Mailbox_Registers.xml"          xmlpath="../Modules/C2000/" HW_version="" description="eCAN-B Mailbox Content"              requestor="" baseaddr="0x006300" endaddr="0x0063FF" size="0x0200" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAP_Type0_Registers.xml"                 id="eCAP1"    xml="C2000_eCAP_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="eCAP1 Registers"         requestor="" baseaddr="0x006A00" endaddr="0x006A1F" size="0x0020" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAP_Type0_Registers.xml"                 id="eCAP2"    xml="C2000_eCAP_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="eCAP2 Registers"         requestor="" baseaddr="0x006A20" endaddr="0x006A3F" size="0x0020" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAP_Type0_Registers.xml"                 id="eCAP3"    xml="C2000_eCAP_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="eCAP3 Registers"         requestor="" baseaddr="0x006A40" endaddr="0x006A5F" size="0x0020" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eCAP_Type0_Registers.xml"                 id="eCAP4"    xml="C2000_eCAP_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="eCAP4 Registers"         requestor="" baseaddr="0x006A60" endaddr="0x006A7F" size="0x0020" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_ePWM_Type0_Registers.xml"                 id="ePWM1"    xml="C2000_ePWM_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="ePWM1 Registers"         requestor="" baseaddr="0x006800" endaddr="0x00683F" size="0x0040" accessnumbytes="4" permissions="p" />     
      <instance href="../Modules/C2000/C2000_ePWM_Type0_Registers.xml"                 id="ePWM2"    xml="C2000_ePWM_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="ePWM2 Registers"         requestor="" baseaddr="0x006840" endaddr="0x00687F" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_ePWM_Type0_Registers.xml"                 id="ePWM3"    xml="C2000_ePWM_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="ePWM3 Registers"         requestor="" baseaddr="0x006880" endaddr="0x0068BF" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_ePWM_Type0_Registers.xml"                 id="ePWM4"    xml="C2000_ePWM_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="ePWM4 Registers"         requestor="" baseaddr="0x0068C0" endaddr="0x0068FF" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_ePWM_Type0_Registers.xml"                 id="ePWM5"    xml="C2000_ePWM_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="ePWM5 Registers"         requestor="" baseaddr="0x006900" endaddr="0x00693F" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_ePWM_Type0_Registers.xml"                 id="ePWM6"    xml="C2000_ePWM_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="ePWM6 Registers"         requestor="" baseaddr="0x006940" endaddr="0x00697F" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eQEP_Type0_Registers.xml"                 id="eQEP1"    xml="C2000_eQEP_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="eQEP1 Registers"         requestor="" baseaddr="0x006B00" endaddr="0x006B3F" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_eQEP_Type0_Registers.xml"                 id="eQEP2"    xml="C2000_eQEP_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="eQEP2 Registers"         requestor="" baseaddr="0x006B40" endaddr="0x006B7F" size="0x0040" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_Flash_Type0_Registers.xml"                 id="FLASH"    xml="C2000_Flash_Type0_Registers.xml"       xmlpath="../Modules/C2000/" HW_version="" description="Flash/OTP Registers"       requestor="" baseaddr="0x000A80" endaddr="0x000A87" size= "0x008" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/280x_External_Interrupt_Registers.xml"           id="XINT"     xml="280x_External_Interrupt_Registers.xml"      xmlpath="../Modules/C2000/" HW_version="" description="External Interrupt Registers"        requestor="" baseaddr="0x007070" endaddr="0x00707F" size="0x0010" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/280x_GPIO_Registers.xml"                         id="GPIO"     xml="280x_GPIO_Registers.xml"            xmlpath="../Modules/C2000/" HW_version="" description="GPIO Registers"                              requestor="" baseaddr="0x006F80" endaddr="0x006FFF" size="0x0080" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_I2C_Type0_Registers.xml"                 id="I2CA"     xml="C2000_I2C_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="I2CA Registers"                         requestor="" baseaddr="0x007900" endaddr="0x00792F" size="0x0030" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_PIE_Registers.xml"                         id="PIE"      xml="C2000_PIE_Registers.xml"           xmlpath="../Modules/C2000/" HW_version="" description="Peripheral Interrupt Expansion Registers"     requestor="" baseaddr="0x000CE0" endaddr="0x000CFF" size="0x0020" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_SCI_Type0_Registers.xml"                 id="SCIA"     xml="C2000_SCI_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="Serial Communication Interface A Registers"  requestor="" baseaddr="0x007050" endaddr="0x00705F" size="0x0010" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_SCI_Type0_Registers.xml"                 id="SCIB"     xml="C2000_SCI_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="Serial Communication Interface B Registers"  requestor="" baseaddr="0x007750" endaddr="0x00775F" size="0x0010" accessnumbytes="4" permissions="p" />
      <instance href="../Modules/C2000/C2000_SPI_Type0_Registers.xml"                 id="SPIA"     xml="C2000_SPI_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="Serial Peripheral Interface A Registers"     requestor="" baseaddr="0x007040" endaddr="0x00704F" size="0x0010" accessnumbytes="4" permissions="p" />     
      <instance href="../Modules/C2000/C2000_SPI_Type0_Registers.xml"                 id="SPIB"     xml="C2000_SPI_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="Serial Peripheral Interface B Registers"     requestor="" baseaddr="0x007740" endaddr="0x00774F" size="0x0010" accessnumbytes="4" permissions="p" />     
      <instance href="../Modules/C2000/C2000_SPI_Type0_Registers.xml"                 id="SPIC"     xml="C2000_SPI_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="Serial Peripheral Interface C Registers"     requestor="" baseaddr="0x007760" endaddr="0x00776F" size="0x0010" accessnumbytes="4" permissions="p" />     
      <instance href="../Modules/C2000/C2000_SPI_Type0_Registers.xml"                 id="SPID"     xml="C2000_SPI_Type0_Registers.xml"         xmlpath="../Modules/C2000/" HW_version="" description="Serial Peripheral Interface D Registers"     requestor="" baseaddr="0x007780" endaddr="0x00778F" size="0x0010" accessnumbytes="4" permissions="p" />     
  </cpu>
</device>

 

tms320 카페에서 ccs 디버거 설정에서 먼가하던데 그걸 빼먹어서 그런가?

'embeded > DSP C2000 Ti' 카테고리의 다른 글

잘가 tms320 ㅠㅠ  (0) 2023.07.28
CCS v8.3.1 on ubuntu 22.04  (0) 2023.07.14
spectrum digital XDS510 USB  (0) 2023.07.14
TMS320 소비전력  (0) 2023.07.13
tms320 어렵네...  (4) 2020.04.02
Posted by 구차니
embeded/DSP C2000 Ti2023. 7. 14. 10:04

음.. 걍 포기할까?

파이썬 2.7이라니..

 

아래 명령을 입력하면 22.04 에서 문제없이 설치된다.

$ sudo apt-get install libpython2.7 libgconf-2-4 libncurses5 libusb-0.1-4

 

윈도우에서는 못보던 화면이네



XDS510 USB가 안 잡혀서 다시 설치하고, 드라이버 설치하고, 업데이트 시도

 

 

리눅스 버전에서는 7.x 설치해도 안되서 일단 잠정 보류..

차라리 XDS510을 포기하는게 정답이려나?

'embeded > DSP C2000 Ti' 카테고리의 다른 글

잘가 tms320 ㅠㅠ  (0) 2023.07.28
CCSv8.3.1 on win10  (0) 2023.07.14
spectrum digital XDS510 USB  (0) 2023.07.14
TMS320 소비전력  (0) 2023.07.13
tms320 어렵네...  (4) 2020.04.02
Posted by 구차니