Casa > Notícies > Contingut

Migració basada en FTDI HAL - FT80x To FT81x

Apr 26, 2019

4 Migració basada en FTDI HAL: FT80x a FT81x

Les recomanacions de migració esmentades a la Secció 3 estan destinades a usuaris que es desenvolupin

els seus propis fitxers d'origen.

El lloc web FTDI té un seguit d’exemples que s’han actualitzat per donar suport al FT81x en

A més del suport original de FT80x. Consulteu les mostres amb la nota (+ EVE2).

http://www.ftdichip.com/Support/SoftwareExamples/FT800_Projects.htm

Aquests exemples utilitzen el #defines FT_80X_ENABLE i FT_81X_ENABLE per tal de donar suport tant

famílies en els mateixos fitxers d'origen. Aquestes definicions s’utilitzen al llarg del codi d’aplicació principal i

suportant fitxers c i de capçalera.

Per simplificar la selecció, aquestes definicions es poden controlar des d’un únic fitxer anomenat platform.h que

està present en cadascun dels projectes de codis de demostració. Aquest fitxer conté un conjunt d’alt nivell de definicions per seleccionar

el tipus de tauler de demostració, la mida de la pantalla i la plataforma de l’amfitrió. Aquests, al seu torn, permeten definir els associats

a la resta del codi.

Consulteu els exemples de projectes des de l’enllaç anterior i també de la guia de la plataforma adjunta

per a més detalls.

Guia de la plataforma EVE


5 recomanacions per obtenir un millor rendiment

Les següents seccions mostren algunes de les maneres en què es poden fer servir les funcions del FT81x

millorar el rendiment i / o reduir la càrrega de treball a l’MCU amfitrió.

5.1 Registres auxiliars per al comandament FIFO

Per descarregar el treball de l’MCU per comprovar l’espai lliure al buffer circular, el FT81x s’ofereix

dos registres auxiliars "REG_CMDB_SPACE" i "REG_CMDB_WRITE" per a transferències massives. Això

permet que la MCU escrigui ordres i dades al coprocessador en una transferència massiva, sense

calcular l’espai lliure al buffer circular i augmentar l’adreça. Mentre que la quantitat

de dades a transferir és inferior al valor del registre "REG_CMDB_SPACE", és a dir, la MCU

capaç d’escriure de manera segura totes les dades a "REG_CMDB_WRITE" en una transferència d’escriptura.

5.2 Mitjans de comunicació FIFO per a la descompressió d'imatges

La ordre CMD_MEDIAFIFO s’utilitza per configurar un mitjà de transmissió FIFO a RAM_G.

image

5.3 VERTEX_FORMAT per a instruccions de vèrtexs de píxels / subpíxels

El FT81x té suport per configurar el format de vèrtex. El propòsit d’utilitzar vertex_format és

estableix la precisió de les coordenades de VERTEX2F. Es poden seleccionar precisions d’1, 1/2, 1/4, 1/8 i 1/16.

image

Context gràfic

El valor de frac forma part del context gràfic


5.4 VERTEX_TRANSLATE_X i VERTEX_TRANSLATE_Y

Les ordres VERTEX_TRANSLATE s’afegeixen per facilitar el moviment d’un conjunt d’objectes. Aquests

Les ordres permeten la traducció de conjunts sencers de primitives / widgets.

El VERTEX_TRANSLATE_X s'utilitza per especificar la traducció de les transformacions de vèrtex X. El

l’ordre s’estructura de la manera següent:

image

El VERTEX_TRANSLATE_Y s'utilitza per especificar la traducció Y de la transformació de vèrtex. El

l’ordre s’estructura de la manera següent:

image

5.5 CMD_SETFONT2 per facilitar el càlcul de l'adreça

A FT80x, el CMD_SETFONT s’utilitza per registrar una font de mapa de bits definida personalment al motor del coprocessador. A FT81x, CMD_SETFONT2, una nova comanda de coprocessador, s’afegeix a setup a

font personalitzada. Per utilitzar un tipus de lletra personalitzat amb els objectes de coprocessador, creeu la definició de tipus de lletra a

RAM_G i publiqueu CMD_SETFONT2, tal com es descriu a la secció 5.5 de la Guia de programadors de FT81x

image

image

5.6 Ordre de co-processador CMD_SETBITMAP

Aquesta ordre facilita la construcció fàcil d’un mapa de bits mitjançant un conjunt d’instruccions de GPU.

Es generaran les ordres corresponents de la llista de visualització (BITMAP_SOURCE) BITMAP_LAYOUT

BITMAP_SIZE) per a una informació de mapa de bits donada, que permet estalviar l’esforç d’escriure la llista de visualització

manualment.

Els paràmetres filter / wrapx / wrapy a BITAMP_SIZE sempre es defineixen com a NEAREST / BORDER / BORDER /

Valor BORDER a les ordres de la llista de visualització generada.


image

Exemples

NA

Nota: dos octets s’han d’afegir després de l’últim paràmetre per proporcionar una alineació de 4 bytes

requerit pel co-processador