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.
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.
아무튼 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
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.
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인걸 제외하면 설정값들은 동일하다.