Например TDA7294

Форум РадиоКот • Просмотр темы - мелкие дешевые МК
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн авг 11, 2025 00:45:58

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 253 ]     ... , , , 10, , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Вс июл 24, 2022 22:24:00 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2918
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23964
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
нужно внешнее устройство отлаживать напрямую через x86/x64 машину с помощью моста, тем самым "вылизывать" управление им до блеска, правда необходимо уметь программировать под Win32. Ведь GUI винды гораздо удобнее, какого-то там UART, JTAG ... от слабенького MCU типа ARM

:facepalm:
Редкостная чушь. Трава была забористая, сразу видно. GUI винды сама по себе реализует управление внешними устройствами через драйверы винды.
А писать драйверы для винды ничем не отличается от писания драйверов для ARM-ов или Атмег. И УАРТ тут вообще не причем. Как и житаг.
Тут разговор шел не о скорости обмена, а о возможности управлять интерфейсом связи с целевым внешним устройством. И чем тогда легче бессмысленное усложнение этой процедуры через софт ПК против нативного для задачи прямого управления периферией МК? Задача - настроить периферию МК, а не заниматься с "резиновой женщиной" рукоблудом. :tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Пн июл 25, 2022 01:17:44 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 777
Зарегистрирован: Сб янв 28, 2006 22:47:24
Сообщений: 5151
Рейтинг сообщения: 0
А когда нужно что-то записать и прочитать во внешнее устройство, разработчик которого ленивая скотина и документацию писал левой ногой (а они через одного такие), тут порой отладочная информация на несколько метров ниже уровня земли уходит, при том что я на втором этаже работаю.

Нормальный режим... Вот когда назначение каких-то странных битов в загадочных регистрах будете угадывать методом тыка, тогда нам про "нормальный режим" расскажете.


А что - бы не гадать, нужно внешнее устройство отлаживать напрямую через x86/x64 машину с помощью моста, тем самым "вылизывать" управление им до блеска, правда необходимо уметь программировать под Win32. Ведь GUI винды гораздо удобнее, какого-то там UART, JTAG ... от слабенького MCU типа ARM или Atmega :)

Чесслово, не понял прелестей отладки из под винды и с последующей отладкой в связке с МК...

_________________
Астролябия-сама меряет, было бы что мерять!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Пн июл 25, 2022 06:21:40 
Сверлит текстолит когтями

Зарегистрирован: Вт ноя 19, 2019 06:10:18
Сообщений: 1228
Рейтинг сообщения: 0
Asmodey писал(а):
Чесслово, не понял прелестей отладки из под винды и с последующей отладкой в связке с МК...

Возможно, речь идёт о таких контроллерах:
https://icp-das.ru/collections/pac-upac

Если писать код так, чтобы он собирался и на этих контроллерах, и под Виндой, то почти всю отладку ПО получается выполнить под Виндой, а не через СОМ-порт этого контроллера. Теоретически, существует Turbo Debugger для удалённой отладки, но лично я его не нашёл. Плюс загрузка программы в такой контроллер отнимает заметное время, ибо идёт через СОМ-порт на скорости 115200, а сама программа будет не меньше 80-90К из-за библиотек, которые линкуются к ней.

Ещё случай отладки под Виндой это ПЛК, которые много общаются с IDE. Тоже очень удобно соединить ПЛК через пару виртуальных СОМ-портов с IDE, чтобы провести отладку и выполнить тестирование ПЛК и программ для ПЛК. Кстати, если кто не в курсе, то есть версия FreeRTOS для Винды, так что удаётся проверить довольно большие куски кода.

Отсюда и рождаются вот такие штуки:
Спойлер
Код:
////////////////////////////////////////////////////////////////////////////////
//
//      UARTbase.h
//
////////////////////////////////////////////////////////////////////////////////

#pragma once

#ifndef __UART_BASE_H__
#define __UART_BASE_H__

////////////////////////////////////////////////////////////////////////////////

#include "targetver.h"
#include "MyTypes.h"
#include "AbsTrans.h"
#include "VirtWr.h"


#ifdef _WIN32_

    #include "StdAfx.h"
    #include <windows.h>

    #pragma comment(lib, "kernel32.lib")

#endif

#ifdef _MINIOS7_
    #include "I-7188XA.h"
#endif

#ifdef __STM32__

    #ifdef __STM32F411__
        #include "system_stm32f4xx.h"
        #include "stm32f411xe.h"
    #endif

    #ifdef __STM32F446__
        #include "system_stm32f4xx.h"
        #include "stm32f446xx.h"
    #endif

    #ifdef __STM32F745__
        #include "system_stm32f7xx.h"
        #include "stm32f745xx.h"
    #endif

    #ifdef __STM32F767__
        #include "system_stm32f7xx.h"
        #include "stm32f767xx.h"
    #endif

    #include <stdlib.h>
    #include "OS.h"
    #include "kTask.h"      // Собирается только под FreeRTOS!

    #include "IRQ.h"

#endif

//----------
#ifdef __MINIOS7__

    #define MAX_SERIAL_PORTS    4 // Количество последовательных портов.

    enum ComPort
    {
        COMPORT1    = 1,
        COMPORT2    = 2,
        COMPORT3    = 3,
        COMPORT4    = 4,
        UNKNOWNPORT = -1
    };

#endif
//----------
#ifdef __WIN32__

    #define MAX_SERIAL_PORTS    32  // Количество последовательных портов.

    enum ComPort
    {
        COMPORT0    = 0,
        COMPORT1    = 1,
        COMPORT2    = 2,
        COMPORT3    = 3,
        COMPORT4    = 4,
        COMPORT5    = 5,
        COMPORT6    = 6,
        COMPORT7    = 7,
        COMPORT8    = 8,
        COMPORT9    = 9,
        COMPORT10   = 10,
        COMPORT11   = 11,
        COMPORT12   = 12,
        COMPORT13   = 13,
        COMPORT14   = 14,
        COMPORT15   = 15,
        COMPORT16   = 16,
        COMPORT17   = 17,
        COMPORT18   = 18,
        COMPORT19   = 19,
        COMPORT20   = 20,
        COMPORT21   = 21,
        COMPORT22   = 22,
        COMPORT23   = 23,
        COMPORT24   = 24,
        COMPORT25   = 25,
        COMPORT26   = 26,
        COMPORT27   = 27,
        COMPORT28   = 28,
        COMPORT29   = 29,
        COMPORT30   = 30,
        COMPORT31   = 31,
        UNKNOWNPORT = -1
    };

#endif
//----------
#ifdef __STM32__

    typedef struct
    {
        GPIO_TypeDef*   port;
        uint8           aBit;
    }
    AnPin;
   
    typedef struct
    {
        AnPin Tx, Rx, dirControl;
    }
    UARTpin;

#endif

#ifdef __STM32F411__

    // Количество аппаратных последовательных портов.
    #define MAX_SERIAL_PORTS    5
    #define MAX_VCP             1   // Количество виртуальнх портов

    enum ComPort
    {
        COMPORT1    = 1,
        COMPORT2    = 2,
        COMPORT6    = 6,
        COMPORT100  = 100,  // Virtual COM-port over USB
        COMPORT200  = 200,  // Virtual COM-port over Ethernet
        UNKNOWNPORT = -1
    };

#endif

#ifdef __STM32F446__

    #define MAX_SERIAL_PORTS    10  // Количество последовательных портов (UART)
    #define MAX_VCP             1   // Количество виртуальнх портов

    enum ComPort
    {
        COMPORT1    = 1,
        COMPORT2    = 2,
        COMPORT3    = 3,
        COMPORT4    = 4,
        COMPORT5    = 5,
        COMPORT6    = 6,
        COMPORT7    = 7,
        COMPORT8    = 8,
        COMPORT100  = 100,  // Virtual COM-port over USB
        COMPORT200  = 200,  // Virtual COM-port over Ethernet
        UNKNOWNPORT = -1
    };

#endif

#ifdef __STM32F745__

    #define MAX_SERIAL_PORTS    10  // Количество последовательных портов (UART)
    #define MAX_VCP             1   // Количество виртуальнх портов

    enum ComPort
    {
        COMPORT1    = 1,
        COMPORT2    = 2,
        COMPORT3    = 3,
        COMPORT4    = 4,
        COMPORT5    = 5,
        COMPORT6    = 6,
        COMPORT7    = 7,
        COMPORT8    = 8,
        COMPORT100  = 100,  // Virtual COM-port over USB
        COMPORT200  = 200,  // Virtual COM-port over Ethernet
        UNKNOWNPORT = -1
    };

#endif

#ifdef __STM32F767__

    #define MAX_SERIAL_PORTS    10  // Количество последовательных портов (UART)
    #define MAX_VCP             1   // Количество виртуальнх портов

    enum ComPort
    {
        COMPORT1    = 1,
        COMPORT2    = 2,
        COMPORT3    = 3,
        COMPORT4    = 4,
        COMPORT5    = 5,
        COMPORT6    = 6,
        COMPORT7    = 7,
        COMPORT8    = 8,
        COMPORT100  = 100,  // Virtual COM-port over USB
        COMPORT200  = 200,  // Virtual COM-port over Ethernet
        UNKNOWNPORT = -1
    };

#endif

//----------
enum StopBits
{
    ONE_STOP_BIT,
    ONE_AND_HALF_STOP_BIT,
    TWO_STOP_BITS
};
//----------
enum Parity
{
    NO_PARITY = 0,
    ODD,            // Нечётность
    PARITY          // Чётность
};
//----------

enum UART_USE_AS
{
    SIMPLE  = 0,
    MODBUS  = 1
};
////////////////////////////////////////////////////////////////////////////////

class UART_base : public AbstractTransport, protected IRQ
{
    public:

        enum UART_ERROR
        {
            OK                          = 0,
            INVALID_PORT                = 1,
            INVALID_BAUDRATE            = 2,
            UNSUPPORTED_DATA_BITS_VALUE = 3,
            UNSUPPORTED_STOP_BITS_VALUE = 4,
            MAPPING_NOT_SUPPORTED       = 5,
            ZERO_POINTER                = 6,
            INVALID_SIZE                = 7,
            IRQ_HANDLER_NOT_INSTALLED   = 8,
            DEVICE_IS_BUSY              = 9,

            // Ошибка операции ввода-вывода
            IO_FAULT                    = 10,

            // Превышено время ожидания окончания операции
            TIMEOUT                     = 11
        };

        //----------
        //      Связывает объект SerialPort с физическим портом port,
        // устанавливая для порта параметры приёма-передачи.
        //      Возвращает номер порта. Зачение UNKNOWNPORT указывает на ошибку.
        virtual ComPort
        open
        (
            ComPort     port,
            uint32      baudRate,
            uint8       dataBits,
            Parity      parity,
            StopBits    stopBits
        );

        //----------
        //      Отвязывает физический порт от объекта SerialPort.
        //      Возвращает номер отвязанного порта. Значение UNKNOWNPORT
        // указывает на ошибку.
        virtual ComPort close( void );

        //----------
        //      Возвращает номер физического порта, к которому выполнена
        // привязка. Если привязка не выполнена или завершилась неудачей,
        // то вернёт UNKNOWNPORT.
        ComPort getPort( void );

        //----------
        //      Возвращает код ошибки последнего вызова метода класса.
        //  0  - нет ошибки, любое другое значение указывает на ошибку, код
        // которой зависит от платформы.
        virtual int32  getLastError( void );

        //----------
        //      Принудительная очистка буферов. Количество байт для приёма-
        // передачи обнуляется! Оставшиеся в передатчике байты не передаются!

        virtual void purgeRxBuff( void ) = 0;
        virtual void purgeTxBuff( void ) = 0;

        //----------
        //      Читает в буфер buff размером buffSize байты из буфера приёмника.
        //      Работает в неблокирующем режиме!
        //      Возвращает количество прочитанных байт или ноль в случае
        // отсутствия доступных для чтения данных.
        virtual int16
        receive
        (
            void*   buff,
            int16   buffSize,
            MODE    mode        = NON_BLOCK
        )
        = 0;

        //----------
        //      Записывает buffSize байт из буфера buff в буфера передатчика.
        //      Работает в неблокирующем режиме!
        //      Возвращает количество записанных байт или ноль в случае
        // невозможности записи. lastError указывает на ошибку.
        //      Перед вызовом send(..) во избежании склеивания отправляемых
        // посылок, необходимо вызывать getAvailableTxBytes(..) для проверки
        // того, что буфер передатчика пуст.
        virtual int16
        send
        (
            void*   buff,
            int16   buffSize,
            MODE    mode     = NON_BLOCK
        )
        = 0;

        //----------
        //  Возвращает количество байт, находящихся в буфере передатчика.
        virtual int16 getAvailableTxBytes( void ) = 0;
        virtual int16 getAvailableRxBytes( void ) = 0;

        //----------
        //  Сервисные функции для мониторинга и диагностики.
        virtual ostream& print( ostream& os );
       
    protected:

        //----------
        //      Создаёт объект, через который будет осуществляться работа
        // с последовательным портом. Может создаваться различная
        // обвязка для удобства работы: очереди, семафоры и т.п.
        UART_base
        (
            const char* name
        );

        //----------
        //      Уничтожает объект с высвобождением всех занятых ресурсов.
        virtual ~UART_base( void );

        //----------

        ComPort     port;                       // Привязаный порт.
        int         lastError;                  // Код ошибки последнего вызова.
       
        uint32      baudRate;
        uint8       dataBits;
        Parity      parity;
        StopBits    stopBits;

        #ifdef __STM32__
       
            uint32          APB_divider;
            uint8           APB_n;
            USART_TypeDef*  usart;
            IRQn_Type       usart_IRQn;
           
            //----------
            // Устанавливает события, по которым будет формироваться прерывания.
            // Не забудь установить UE и определись с RE и TE!
            virtual void setEvents( void ) = 0;

        #endif

    private:

        // Закрываем конструктор копирования и оператор присваивания.
        UART_base( const UART_base& );
        UART_base& operator= ( UART_base& );

        #ifdef _WIN32_

            HANDLE  m_hFile;
            uint32  numOfBytesToWrite,  // Количество байт для отправки.
                    bytesWrittens;      // Количество отправленных байт.

        #endif
};

extern UART_base *serialPort[ MAX_SERIAL_PORTS ];

////////////////////////////////////////////////////////////////////////////////
#endif  // __UART_H__
////////////////////////////////////////////////////////////////////////////////


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Пн июл 25, 2022 07:02:56 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 777
Зарегистрирован: Сб янв 28, 2006 22:47:24
Сообщений: 5151
Рейтинг сообщения: 0
Возможно, речь идёт о таких контроллерах:

Если так, то чела совсем не в ту степь понесло.

Впрочем, тема давно уже ушла от темы так далеко, что...

_________________
Астролябия-сама меряет, было бы что мерять!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Пн июл 25, 2022 22:53:27 
Друг Кота
Аватар пользователя

Карма: -74
Рейтинг сообщений: -204
Зарегистрирован: Пн окт 03, 2016 22:50:22
Сообщений: 3943
Рейтинг сообщения: -1
Чесслово, не понял прелестей отладки из под винды и с последующей отладкой в связке с МК...


А прелесть следующая, к примеру имеется чип, но с кривым даташитом, пишем софт, управляем чипом, смотрим и получаем результаты (запись/чтение) в живую, без ограничения объема памяти и задач. :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Пн июл 25, 2022 23:07:16 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 777
Зарегистрирован: Сб янв 28, 2006 22:47:24
Сообщений: 5151
Рейтинг сообщения: 1
без ограничения объема памяти и задач

У тех кто пишет на регистрах, дефицита памяти и недостатка производительности как правило не возникает. Ресурсов МК хватает с избытком, в том числе и на отладочные вставки в код. Недостаток всего и вся, это проблема библиотекарей.

_________________
Астролябия-сама меряет, было бы что мерять!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Пн июл 25, 2022 23:14:45 
Друг Кота
Аватар пользователя

Карма: -74
Рейтинг сообщений: -204
Зарегистрирован: Пн окт 03, 2016 22:50:22
Сообщений: 3943
Рейтинг сообщения: -2
У тех кто пишет на регистрах, дефицита памяти и недостатка производительности как правило не возникает. Ресурсов МК хватает с избытком, в том числе и на отладочные вставки в код. Недостаток всего и вся, это проблема библиотекарей.

Ресурсы МК это ничто по сравнению с ресурсами x86/x64 машины :) А выявить подводные камни без участия программиста / разработчика ( разраб может откинутся на спинку стула и отдыхать) гораздо быстрее на x86/x64, чем шариться в регистрах МК :sleep: В случае изучения конкретного раба - чипа с кривым даташитом с помощью x86/x64, никакие отладочные вставки ненужны, достаточно отслеживать программным путем результаты, необходимые результаты и протоколировать их в отладочный файл, потом отпарсировать нужное, ну или забагованное :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Вт июл 26, 2022 05:45:44 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 777
Зарегистрирован: Сб янв 28, 2006 22:47:24
Сообщений: 5151
Рейтинг сообщения: 0
Transformer-V, вы сами часто так делаете? Как отлаженные таким образом устройства потом ведут себя с МК? Можно примеры посмотреть?

_________________
Астролябия-сама меряет, было бы что мерять!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Вт июл 26, 2022 06:46:57 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18403
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
я так писал библиотечку для микроплейера мп3 с сд-карты: китайский даташит процентов на 60 был правдив, а остальное уточнял экспериментально. собственно, даташит просто переведен был хреново и многие моменты были просто непонятны.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Вт июл 26, 2022 12:05:19 
Говорящий с текстолитом

Карма: -11
Рейтинг сообщений: 166
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1515
Рейтинг сообщения: 0
А выявить подводные камни без участия программиста / разработчика ( разраб может откинутся на спинку стула и отдыхать) гораздо быстрее на x86/x64, чем шариться в регистрах МК :sleep: В случае изучения конкретного раба - чипа с кривым даташитом с помощью x86/x64, никакие отладочные вставки ненужны, достаточно отслеживать программным путем результаты
Бред. Рассуждения диванного теоретика, никогда не работавшего с живым МК.
Либо "работавшего" только посредством чужих "либ". Что, по большому счёту, то же самое.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Вт июл 26, 2022 12:25:54 
Сверлит текстолит когтями

Зарегистрирован: Вт ноя 19, 2019 06:10:18
Сообщений: 1228
Рейтинг сообщения: 0
jcxz писал(а):
Бред. Рассуждения диванного теоретика

Не совсем. Если работа МК сводится к математическим расчётам и обмену данными по, например, EIA-485, то такая ситуация имеет право быть. В таком случае почти всё можно отладить на ПК, а потом перекомпилировать для МК. Но написать программу и драйверы так, чтобы они собирались и на ПК, и на МК- это надо уметь. И всё равно работа с регистрами периферии на МК никуда не денется, хотя есть ведь, например для STM32, небезызвестный HAL, который может скрыть и работу с регистрами. Хм, но всё равно, такой подход требует серьёзных знаний ПК с его ОС, и МК с его примочками.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Вт июл 26, 2022 13:08:48 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2918
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23964
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
Если работа МК сводится к математическим расчётам и обмену данными по, например, EIA-485, то такая ситуация имеет право быть.

Никто с этим и не спорит. Вопрос совершенно в другом: В ЧЕМ ПРОФИТ от такого подхода? Мало того, что нужно писать свой софт на ПК, так еще потом нужно его "вклеить" с драйверами на МК. Кому нужна эта лишняя работа? Расчеты вообще не рассматривались в обсуждении этой темы. А если и рассматривались, то в их взаимодействии с режимом реального времени, которое не симулируется на ПК в предлагаемом варианте. Да и не может симулироваться из за совершенно другой платформы. ОСРВ на ПК - это иная история.
Я сразу сказал - это редкостная чушь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Вт июл 26, 2022 14:03:46 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 777
Зарегистрирован: Сб янв 28, 2006 22:47:24
Сообщений: 5151
Рейтинг сообщения: 0
Чел, походу, свои хрустальные мечты озвучил. У мну подобные были в 3 классе: реактивный ранец, бесконечная батарейка, очки со встроенным телевизором, роликовые коньки с электромоторчиками, радиоуправляемая модель самолета с телевизионной камерой на борту и радиусом полета не менее 100 км. Одно хорошо - интернетов тогда не было, и надо мной хихикали только мои одноклассники. Нынешние третьеклассники брыжжут влажными мечтами как минимум в границах целой страны.

_________________
Астролябия-сама меряет, было бы что мерять!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Вт июл 26, 2022 14:57:46 
Сверлит текстолит когтями

Зарегистрирован: Вт ноя 19, 2019 06:10:18
Сообщений: 1228
Рейтинг сообщения: 0
КРАМ писал(а):
В ЧЕМ ПРОФИТ от такого подхода?

В скорости разработки, хоть звучит неожиданно. Просто когда скорость загрузки программы для исполнения измеряется десятками секунд-минутами, плюс нет внутрисхемной отладки, а есть только printf(), то такой подход себя окупает. А если ещё и несколько проектов, то тем более.
КРАМ писал(а):
Да и не может симулироваться из за совершенно другой платформы. ОСРВ на ПК - это иная история.

Не совсем так:
https://www.freertos.org/FreeRTOS-Windo ... MingW.html
Тут даже речь не о симуляции идёт. Если оборудование общается через 485-ый и Эзернет, то нет разницы, кто спрашивают и кому отвечают, МК или Винде. Лишь бы ответы укладывались в установленный предел.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Вт июл 26, 2022 16:07:19 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2918
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23964
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
В скорости разработки...
Разработки ЧЕГО?
Если разговор идет об алгоритме расчетов, то для этого есть MATLAB. А если речь идет об интерфейсах или драйверах внешних устройств, то все повязано на железе связи с этими устройствами конкретно в этом МК.
Причем тут вообще обсуждаемая тема?
Напомню, что разговор шел о ВНУТРИСХЕМНОЙ отладке и инструментах для ее осуществления. А методы макетирования алгоритмов на сторонних платформах - это совершенно другая история.
ЗЫ. Намекну. Трансформер пропагандирует свои методы управления некими чипами через интерфейсы и софт ПК. Например, он тут хвалился управлением RGB-лентами. Вот о чем он ведет разговор. А совсем не о вычислительных алгоритмах.

Добавлено after 5 minutes 44 seconds:
Если оборудование общается через 485-ый и Эзернет, то нет разницы, кто спрашивают и кому отвечают, МК или Винде.

Если протокол обмена (верхнего уровня, конечно) не имеет документации, то совершенно фиолетово на чем с ним трахаться. Дело вкуса и привычек. Время там не сэкономишь. Ну вывалит, например, сниффер MIPI CSI тонну листов загрузки видеосенсора. Без внятной документации там все равно ничего не восстановишь. А если и восстановишь, то фиолетово чем снифферили - МК или ПК. Времени уйдет одинаково.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Вт июл 26, 2022 21:53:09 
Друг Кота
Аватар пользователя

Карма: -74
Рейтинг сообщений: -204
Зарегистрирован: Пн окт 03, 2016 22:50:22
Сообщений: 3943
Рейтинг сообщения: -1
Transformer-V, вы сами часто так делаете?

Очень часто, мне гораздо интереснее отладить до "блеска" работу чипа на x86/x64, потом наработки перевести в MCU (Atmel и т.д.) ну или на платформу с Z80 или 6809 :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Вт июл 26, 2022 22:35:43 
Собутыльник Кота
Аватар пользователя

Карма: -12
Рейтинг сообщений: -25
Зарегистрирован: Пт июл 12, 2019 22:52:01
Сообщений: 2516
Рейтинг сообщения: 0
Transformer-V, а что, существуют полноценные эмуляторы, скажем, тех же STM32? Может, они еще и свободные и под линуксом работают?

_________________
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Ср июл 27, 2022 07:53:15 
Друг Кота
Аватар пользователя

Карма: 139
Рейтинг сообщений: 2918
Зарегистрирован: Чт янв 10, 2008 22:01:02
Сообщений: 23964
Откуда: Московская область, Фрязино
Рейтинг сообщения: 0
полноценные эмуляторы, скажем, тех же...

Прикольный троллинг... :)))
Причем тут симулятор? Трансформер штота говорил о симуляторах?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Ср июл 27, 2022 09:03:59 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 777
Зарегистрирован: Сб янв 28, 2006 22:47:24
Сообщений: 5151
Рейтинг сообщения: 0
Это же классика - сначала наплодить себе трудностей, а потом героически преодолевать их противоестественным путем...

_________________
Астролябия-сама меряет, было бы что мерять!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: мелкие дешевые МК
СообщениеДобавлено: Ср июл 27, 2022 09:09:43 
Собутыльник Кота
Аватар пользователя

Карма: -12
Рейтинг сообщений: -25
Зарегистрирован: Пт июл 12, 2019 22:52:01
Сообщений: 2516
Рейтинг сообщения: 0
КРАМ, он говорил, что "до блеска" отлаживает МКшный код на ПК. И вот интересно, как он это делает, если добрая половина кода для МК завязана на его регистрах?
Всякую вычислительную чушь, понятное дело, на ПК можно отладить. Но сколько ее?
Нет уж, коль пишешь под МК, так и отлаживаешь непосредственно на МК. Самым простым диагностическим выхлопом. У меня в режиме DEBUG прошивка вполне может килобайт на 10 пухлее быть. И выхлопа спокойно в сотню килобайт в секунду производить в терминал. А в release-сборке все эти DBG просто не раскрываются.
Совершенно аналогично отлаживаю софт под ПК, только там логи валятся в отдельный файл + stderr.

А насчет матлаба (только матлаба для людей — Octave) поддержу. Сам в октаве очень много чего намоделирую, а потом алгоритм переношу в сишный код и использую на ПК или МК. Особенно с обработкой изображений помогает, пока я не добил свою библиотечку для этих дел (использовать openCV — нужно совсем быть поехавшим головой, т.к. она жирная, тормозная и говно вообще).

_________________
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 253 ]     ... , , , 10, , ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 51


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y