[Системное программирование, Интерфейсы, Разработка под Linux, Программирование микроконтроллеров] Configuring FT4232H using the ftdi_eeprom

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
06-Дек-2020 16:30


The FT4232H is USB 2.0 High speed to UART IC converter. The FT4232H has four UART ports and one USB port.
By connecting EEPROM memory to this chip, you can set specific operating modes or change the manufacturer's data.
Let's look at the example and configure FT4232H directly on a system running GNU/Linux. We will do this using the ftdi_eeprom.
Installing ftdi_eeprom
The ftdi_eeprom is part of the open-source library libFTDI and depends on libconfuse.
  • To install ftdi_eeprom on Ubuntu or Debian, running the following command on terminal:
    sudo apt-get update
    sudo apt-get install ftdi-eeprom

  • If you are preparing your own distribution using Yocto Project (thud), ftdi_eeprom pakage can be installed by adding recipes:
    recipes-support/confuse/confuse_2.7.bb
    DESCRIPTION = "Library for parsing configuration files."
    HOMEPAGE = "http://www.nongnu.org/confuse/"
    SECTION = "libs"
    LICENSE = "ISC"
    LIC_FILES_CHKSUM = "file://NEWS;md5=18e885b42b86362019e0cab8dc2a393b"
    SRC_URI = "http://download.savannah.gnu.org/releases/confuse/confuse-${PV}.tar.gz"
    SRC_URI[md5sum] = "45932fdeeccbb9ef4228f1c1a25e9c8f"
    SRC_URI[sha256sum] = "e32574fd837e950778dac7ade40787dd2259ef8e28acd6ede6847ca895c88778"
    inherit autotools binconfig pkgconfig lib_package gettext
    EXTRA_OECONF = "--enable-shared"
    BBCLASSEXTEND = "native"

    recipes-support/libftdi/libftdi_%.bbappend
    PACKAGECONFIG += "ftdi-eeprom"
    PACKAGECONFIG[ftdi-eeprom] = "-DFTDI_EEPROM=on,-DFTDI_EEPROM=off,confuse"
    PACKAGES =+ "ftdi-eeprom"
    FILES_ftdi-eeprom += "${bindir}/ftdi_eeprom"


Configuring FT4232H
By default there are four UART ports of FT4232H operate in RS232 mode, the manufacturer name is FTDI and the product name is Quad RS232-HS.

Let's change the manufacturer name to habr.com, the product name to Quad RS485 and set for UART ports RS485 operate mode.
Let's prepare the configuration file habr.conf
# Filename of the EE file to be generated. Leave empty to skip file writing.
filename=habr.bin
# Vendor ID. FT4232H factory default 0x0403.
vendor_id=0x0403
# Product ID. FT4232H factory default 0x6011.
product_id=0x6011
# EEPROM Type: 0x46 for 93xx46, 0x56 for 93xx56 and 0x66 for 93xx66.
eeprom_type=0x56
manufacturer="habr.com"
product="Quad RS485"
serial="1234"
# Use the serial number string.
use_serial=true
# Max. power consumption: value * 2 mA. Use 0 if self_powered = true.
max_power=0
# Turn this off for bus powered.
self_powered=true
# Turn this on for remote wakeup feature.
remote_wakeup=false
# Set port operate mode.
cha_type=UART
chb_type=UART
# Use virtual com-port driver.
cha_vcp=true
chb_vcp=true
chc_vcp=true
chd_vcp=true
# Enable RS485 mode.
cha_rs485=true
chb_rs485=true
chc_rs485=true
chd_rs485=true

Using the ftdi_eeprom pakage, load our configuration into EEPROM memory by running the following command on terminal:
ftdi_eeprom --flash-eeprom habr.conf

After rebooting the device, you can see the results of the work:

===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_sistemnoe_programmirovanie (Системное программирование), #_interfejsy (Интерфейсы), #_razrabotka_pod_linux (Разработка под Linux), #_programmirovanie_mikrokontrollerov (Программирование микроконтроллеров), #_ftdi, #_ft4232h, #_ftdi_eeprom, #_yocto, #_libftdi, #_sistemnoe_programmirovanie (
Системное программирование
)
, #_interfejsy (
Интерфейсы
)
, #_razrabotka_pod_linux (
Разработка под Linux
)
, #_programmirovanie_mikrokontrollerov (
Программирование микроконтроллеров
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 07:30
Часовой пояс: UTC + 5