docs: добавь поясняющие комментарии к модулям и инструментам
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
# Сборка библиотеки parallel_nand, parallel_nand_pcan_gas. Состав исходников и публичные
|
||||
# include-пути задают подключение к проекту потребителя. Файл также собирает и регистрирует
|
||||
# хостовые проверки; запускать их следует через CTest из каталога сборки.
|
||||
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
project(parallel_nand C)
|
||||
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
/*
|
||||
* Команды параллельной NAND x8: идентификация, чтение, программирование, стирание и проверка
|
||||
* bad-block marker. Геометрия страницы и блока определяется профилем микросхемы; операции
|
||||
* записи требуют корректного управления WP#.
|
||||
*/
|
||||
|
||||
#ifndef PARALLEL_NAND_H
|
||||
#define PARALLEL_NAND_H
|
||||
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/*
|
||||
* Банковое окно доступа к NAND через регистры GAS. Пары октетов упаковываются в слова явно;
|
||||
* переключение банка задаёт видимую область памяти и не меняет физическую геометрию NAND.
|
||||
*/
|
||||
|
||||
#ifndef PARALLEL_NAND_GAS_H
|
||||
#define PARALLEL_NAND_GAS_H
|
||||
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/*
|
||||
* Связка окна NAND с сервером ProtoCAN GAS. Относительные адреса региона и результаты операций
|
||||
* переводятся в контракт GAS, а выполнение команд памяти остаётся в parallel_nand_gas.
|
||||
*/
|
||||
|
||||
#ifndef PARALLEL_NAND_PCAN_GAS_H
|
||||
#define PARALLEL_NAND_PCAN_GAS_H
|
||||
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
/*
|
||||
* Контракт аппаратного доступа к NAND: команды, адреса, данные и ожидание готовности. Один
|
||||
* octet хранится в целом типе, чтобы восемь значащих бит оставались переносимыми на C28x с
|
||||
* 16-битным char.
|
||||
*/
|
||||
|
||||
#ifndef PARALLEL_NAND_PORT_H
|
||||
#define PARALLEL_NAND_PORT_H
|
||||
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
/*
|
||||
* NAND x8 на STM32F103RC через программное управление GPIO: на этом корпусе нет доступного
|
||||
* FSMC. Передача команды, адреса и данных использует разные управляющие линии; WP# должен
|
||||
* разрешать запись только по контракту порта.
|
||||
*/
|
||||
|
||||
#include "parallel_nand_port_stm32f103rc.h"
|
||||
#include "stm32f1xx_hal.h"
|
||||
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
/*
|
||||
* NAND x8 на STM32F103RC через программное управление GPIO: на этом корпусе нет доступного
|
||||
* FSMC. Передача команды, адреса и данных использует разные управляющие линии; WP# должен
|
||||
* разрешать запись только по контракту порта.
|
||||
*/
|
||||
|
||||
#ifndef PARALLEL_NAND_PORT_STM32F103RC_H
|
||||
#define PARALLEL_NAND_PORT_STM32F103RC_H
|
||||
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
/*
|
||||
* NAND x8 на STM32F103ZE через FSMC NAND Bank 3. Отдельные окна команды, адреса и данных
|
||||
* отображаются в пространство процессора; их адреса относятся к шине FSMC, а не к физической
|
||||
* странице NAND.
|
||||
*/
|
||||
|
||||
#include "parallel_nand_port_stm32f103ze.h"
|
||||
|
||||
#include "stm32f1xx_hal.h"
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
/*
|
||||
* NAND x8 на STM32F103ZE через FSMC NAND Bank 3. Отдельные окна команды, адреса и данных
|
||||
* отображаются в пространство процессора; их адреса относятся к шине FSMC, а не к физической
|
||||
* странице NAND.
|
||||
*/
|
||||
|
||||
#ifndef PARALLEL_NAND_PORT_STM32F103ZE_H
|
||||
#define PARALLEL_NAND_PORT_STM32F103ZE_H
|
||||
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
/*
|
||||
* NAND x8 на STM32F407VE через FSMC Bank 2. Область данных начинается с 0x70000000, а
|
||||
* управляющие адресные биты выбирают команду и адрес; геометрией памяти управляет переносимое
|
||||
* ядро.
|
||||
*/
|
||||
|
||||
#include "parallel_nand_port_stm32f407ve.h"
|
||||
#include "stm32f4xx_hal.h"
|
||||
#include "stm32f4xx_hal_nand.h"
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
/*
|
||||
* NAND x8 на STM32F407VE через FSMC Bank 2. Область данных начинается с 0x70000000, а
|
||||
* управляющие адресные биты выбирают команду и адрес; геометрией памяти управляет переносимое
|
||||
* ядро.
|
||||
*/
|
||||
|
||||
#ifndef PARALLEL_NAND_PORT_STM32F407VE_H
|
||||
#define PARALLEL_NAND_PORT_STM32F407VE_H
|
||||
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
/*
|
||||
* NAND x8 на STM32G474CE через GPIO, где PB0..PB7 образуют шину данных. Порт формирует
|
||||
* управляющие импульсы программно; переключение направления данных необходимо для чтения и
|
||||
* записи одной двунаправленной шиной.
|
||||
*/
|
||||
|
||||
#include "parallel_nand_port_stm32g474ce.h"
|
||||
#include "stm32g4xx_hal.h"
|
||||
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
/*
|
||||
* NAND x8 на STM32G474CE через GPIO, где PB0..PB7 образуют шину данных. Порт формирует
|
||||
* управляющие импульсы программно; переключение направления данных необходимо для чтения и
|
||||
* записи одной двунаправленной шиной.
|
||||
*/
|
||||
|
||||
#ifndef PARALLEL_NAND_PORT_STM32G474CE_H
|
||||
#define PARALLEL_NAND_PORT_STM32G474CE_H
|
||||
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/*
|
||||
* NAND через XINTF TMS320F2812 с адресными линиями XA0/XA1 для CLE/ALE. Адреса C28x измеряются
|
||||
* 16-битными словами, но полезные данные NAND остаются восьмибитными октетами.
|
||||
*/
|
||||
|
||||
#include "parallel_nand_port_tms320f2812.h"
|
||||
#include "DSP281x_Device.h"
|
||||
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/*
|
||||
* NAND через XINTF TMS320F2812 с адресными линиями XA0/XA1 для CLE/ALE. Адреса C28x измеряются
|
||||
* 16-битными словами, но полезные данные NAND остаются восьмибитными октетами.
|
||||
*/
|
||||
|
||||
#ifndef PARALLEL_NAND_PORT_TMS320F2812_H
|
||||
#define PARALLEL_NAND_PORT_TMS320F2812_H
|
||||
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
/*
|
||||
* Команды параллельной NAND x8: идентификация, чтение, программирование, стирание и проверка
|
||||
* bad-block marker. Геометрия страницы и блока определяется профилем микросхемы; операции
|
||||
* записи требуют корректного управления WP#.
|
||||
*/
|
||||
|
||||
#include "parallel_nand.h"
|
||||
|
||||
#define PNAND_CMD_READ_1 0x00U
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/*
|
||||
* Банковое окно доступа к NAND через регистры GAS. Пары октетов упаковываются в слова явно;
|
||||
* переключение банка задаёт видимую область памяти и не меняет физическую геометрию NAND.
|
||||
*/
|
||||
|
||||
#include "parallel_nand_gas.h"
|
||||
|
||||
static unsigned int pack_pair(const pnand_octet_t *data, unsigned int index)
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/*
|
||||
* Связка окна NAND с сервером ProtoCAN GAS. Относительные адреса региона и результаты операций
|
||||
* переводятся в контракт GAS, а выполнение команд памяти остаётся в parallel_nand_gas.
|
||||
*/
|
||||
|
||||
#include "parallel_nand_pcan_gas.h"
|
||||
|
||||
static pcan_gas_status_t convert(parallel_nand_gas_result_t result)
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
/*
|
||||
* Проверки parallel_nand: фиксируют ожидаемое поведение на воспроизводимых входных данных.
|
||||
* Тестовые значения и подмены окружения относятся к проверке контракта; они не являются
|
||||
* настройками рабочего устройства.
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
|
||||
Reference in New Issue
Block a user