[Встроенная разработка] ARM Watchdog Watchdog (концепция сторожевого таймера | Принцип сторожевого таймера | Регистр управления часами | Регистр данных таймера | Регистр счетчика таймера | Регистр очистки прерываний таймера | Закрытие записи кода сторожевого таймера)
[Встроенная разработка] ARM Watchdog Watchdog (концепция сторожевого таймера | Принцип сторожевого таймера | Регистр управления часами | Регистр данных таймера | Регистр счетчика таймера | Регистр очистки прерываний таймера | Закрытие записи кода сторожевого таймера)

Загрузите справочные статьи и сопутствующие материалы для этого блога. :

1. Знакомство со сторожевым таймером

Справочное руководство : S3C6410X.pdf ( Этот блог основан на 6410 Совет по развитию )

1. Введение в сторожевой таймер

(1) Функция сторожевого таймера


сторожевой пес эффект :

  • 1. Встроенные продукты: Встроенныйпродуктсуществовать Запуск процессасередина, Часто случаются различные поломки, крушение и т. д., Когда что-то идет не так просто нужен одинМеханизм перезапуска исправления ошибок, сторожевой песто есть Как справиться с этими проблемамииз ;
  • 2.сторожевой чума : сторожевой песдаон Аппаратный модуль ;
  • 3.основнойэффект : существовать После сбоя и сбоя системы перезапустите систему.;

(2) Метод работы сторожевого таймера


сторожевой пес метод работы :

  • 1. Реализовать функцию таймера : сторожевой пес дасуществовать Аппаратный модульначальство Реализован таймер, Долженвремяустройство После запуска отсчет времени необходимо перезапустить в указанное время.;
  • 2. Кормите собаку: кормить собаку действовать то есть Пересчитать из Изображение из заголовка;
  • 3. Механизм перезапуска: еслисуществовать в установленные сроки, Хронометраж не перезапускается (покормить собаку), Так Должен Аппаратный модуль Воля Если вы считаете, что система зависла, перезапустите ее.;

(3) Стратегия отключения сторожевого таймера при запуске


сторожевой песзание закрытие :

  • 1.сторожевой цикл негативных эффектов : сторожевой песосновнойдасуществовать Linux Когда ядро ​​работает, Операционная система взять на себя ответственность время Перезапусксторожевой песвремяустройство ( кормить собаку ) ;
  • 2.Запускается загрузчик: существовать BootLoader гид запускатьчас, в это время Операционная системабезиметьбегать, Нужно написать дополнительный изкод, чтобы время кормить собаку;
  • 3.запускатьчасзакрытиесторожевой пес : существовать BootLoader гидзапуск, сторожевой собака не обязательно должна быть, закрытие сторожевой пес может избавить от многих неприятностей;

2. Принцип сторожевого таймера

(1) Принцип работы аппаратного модуля сторожевого таймера


сторожевой пес модуль принцип :

  • 1.часыпроизводитьмодуль : PLCK дасторожевой песизка источник, Сначала пройдите 8 Кусочекиз ① прескалер Выполнить прескалерную обработку Сгенерировать соответствующий сторожевой песвремяустройствочасы, Этоценить Более прошел один раз ② Обработка частотного разделения ;
    • ( 1 ) сторожевой песконтрользарегистрироваться : Полное английское имя Watchdog Timer Control Register ( WTCON ) , Должензарегистрироватьсясерединанастраивать ① Значение прескалера и ② Параметры частотного деления;
    • ( 2 ) прескалерпараметр Выбиратьценитьобъем : 0 ~ 2^8 - 1,самый маленькийценить 0,максимумценить 2^8 - 1 ;
    • (3) Параметры частотного деления: 16, 32, 64, 128 ;
    • ( 4 ) сторожевой формула расчета песчасов : Источник PCLK, Prescaler value дапрескалерценить, Division_factor — параметр деления частоты. ;
    t\_watchdog = 1/( PCLK / (Prescaler value + 1) / Division\_factor )
  • 2.считатьмодуль : запускатьсторожевой песвперед ① Дай сначала сторожевой песиз прилавок Установите начальное значение, ② Каждый раз, когда приходит сигнал часов о прибытии Это прилавок Просто уменьшите 1 действовать;
    • ( 1 ) сторожевой песчасыданныезарегистрироваться ( WTDAT ) : Полное английское имя Watchdog Timer Data Register ( аббревиатура WTDAT ), магазин Необходимо снизить израсходованныеизначальныецены ;
    • ( 2 ) сторожевой песчасысчитатьзарегистрироваться ( WTCNT ) : Полное английское имя Watchdog Timer Count Register ( аббревиатура WTDAT ), магазин времяустройство Уменьшение значения;
    • (3) Настройка начального значения WTCNT: WTDAT дачасыданныеисходныйценить, WTCNT Ответственныйруководитьвремядействовать,WTCNT изценитьуменьшается, нуждатьсясуществоватьсторожевой песзапускатьвперед Воля WTDAT начальная стоимость в настраивать Давать WTCNT зарегистрироваться, этотдействоватьто есть кормить собаку действовать;
  • 3. Перезапустить модуль. : если WTCNT прилавок Уменьшить до 0 назад, Не иметь кормить собакудействовать, Так Воля Сгенерировать сигнал перезапуска передача Давать процессор уведомитьнуждатьсяруководить Перезапускдействовать ;

(2) Рабочий процесс аппаратного модуля Watchdog


сторожевой пес Аппаратный модуль Рабочий процесс :

  • 1.часыисточник PLCK : да чип проходить Генерация кварцевого генератора из ;
  • 2. Прескалер: в соответствии с значение прескалера руководить прескалер ;
  • 3. Официальное разделение частот: в соответствии с Параметры частотного деления руководить частотное разделение ;
  • 4.прилавоксчитать : сторожевой песприлавок считать действовать ;
  • 5. На основе WTCON серединаизна ремонт руководитьиздействовать :
    • ( 1 ) еслибезиметьзакрытие Функция прерывания : генерировать сигнал прерывания ;
    • ( 2 ) еслизакрытие Понятно Функция прерывания : Сгенерировать сигнал перезапуска ;

2. Введение в реестр сторожевого таймера

Справочное руководство : S3C6410X.pdf ( Этот блог основан на 6410 Совет по развитию )

1. Регистр управления сторожевыми часами (WTCON).

(1) Знакомство с регистром управления сторожевыми часами


сторожевой пес часы контроль зарегистрироваться Введение :

  • 1.Полное английское имя : WATCHDOG TIMER CONTROL (WTCON) REGISTER;
  • 2. Основные функции WTCON: ① Открыть / закрытие сторожевой пес времяустройство, ② от 4 Выбирайте из разных источников источников часы Сигнал , * ③ Открыть / закрытие Функция прерывания , ④ Открыть / закрытие сторожевой пес Выход таймера* ;
  • 3.сторожевой пес Перезапускдействовать : существует Система вышла из строя после включения,сторожевой пес Может Перезагрузите систему, в то же время ① закрытие генератор прерываний, ② активация сторожевой пес генерироватьсигнал перезапускачасывыход;
  • 4.сторожевой пессчитатьдействовать ( Нет перезапуска ) : если пользователь хочет использовать сторожевой пес изобычносчитать Функция, ① активация генератор прерываний, ② закрытие сторожевой пес генерироватьсигнал перезапускачасывыход;

(2) Подробный анализ параметров регистра управления сторожевым таймером.

Этот блог для 6410 Совет по развитиюписать, Ниже иззарегистрироватьсяадрес, Разные виды из Совет по развитию Всеиметьдругойизадресценить зарегистрироватьсяадресдругойиз Совет по развитиюдадругойиз зарегистрироватьсяместо содержанияиметь arm Совет по развитию Все последовательно


сторожевой песчасыконтрользарегистрироваться ( WATCHDOG TIMER CONTROL (WTCON) REGISTER ) Подробные параметры :

  • 1.сторожевой песчасыконтрользарегистрироватьсядоступадрес : существовать 6410 Совет по развитиюсередина сторожевой песчасыконтрользарегистрироваться изадресда 0x7E004000 ;
  • 2.зарегистрироватьсякаждый Кусочек изнастраивать : сторожевой песчасыконтрользарегистрироваться иметь 2 байт 16Кусочек, Подробности нижепредлагает 0 ~ 15 Кусочек Использование SliceFunction ;
  • 3.[ 0 ] Кусочек ( Открыть / закрытие Reset Функция ) : Открыть / закрытие сторожевой пес используется для выход сигнал перезапуска сторожевой песвремяустройство ;
    • ( 1 ) настраивать 1 ценить : Открыть времяустройство выход Функция ;
    • ( 2 ) настраивать 0 ценить : закрытие времяустройство выход Функция ;
  • 4.[ 1 ] Кусочек ( бронировать Кусочек ) : Должен Кусочексуществоватьобщепринятыйдействоватьсерединадолженнастраиватьстановиться 0 ;
  • 5.[ 2 ] Кусочек ( прерыватьвыключатель Кусочек ) : Открыть / закрытие прерывать Функция ;
    • ( 1 ) настраивать 1 ценить : Открытьпрерывать ;
    • ( 2 ) настраивать 0 ценить : закрытиепрерывать ;
  • 6.[ 4 : 3 ] Кусочек ( Параметры частотного деления Кусочек ) : настраиватьчасыиз прескалер позже Параметры частотного деления ;
    • ( 1 ) настраивать 00 ценить : параметр для 16;
    • ( 1 ) настраивать 01 ценить : параметр для 32;
    • ( 1 ) настраивать 10 ценить : параметр для 64;
    • ( 1 ) настраивать 11 ценить : параметр для 128;
  • 7.[ 5 ] Кусочек ( Открыть / закрытие сторожевой песвремяустройство ) : настраивать Открыть / закрытие сторожевой песвремяустройство ;
    • ( 1 ) настраивать 0 ценить : закрытие сторожевой пес времяустройство ;
    • ( 2 ) настраивать 1 ценить : Открыть сторожевой пес времяустройство ;
  • 8.[ 7 : 6 ] Кусочек ( бронировать Кусочек ) : этотдабронировать Кусочек,общепринятыйдействоватьдолженнастраиватьдля 00 ценить;
  • 9.[15 : 8] Кусочек ( прескалерценить ) : настраиватьпрескалер ценить;
    • ( 1 ) прескалерпараметр Выбиратьценитьобъем : 0 ~ 2^8 - 1,самый маленькийценить 0,максимумценить 2^8 - 1 ;

2. Регистр данных сторожевого таймера (WTDAT).


сторожевой песвремяустройстводанныезарегистрироваться : Полное английское имя WATCHDOG TIMER DATA (WTDAT) REGISTER ;

  • 1.эффект : Должензарегистрироватьсяиспользуется для обозначениесторожевой песиз считать тайм-аут ;
  • 2.WTCNT тайм-аутнастраивать : WTDAT зарегистрироватьсяизценить не будет автоматически загружен в сторожевой пес времяустройство прилавоксередина ;
  • 3.Первоначальная цена по умолчанию : использовать 0x8000 как таймер по умолчанию тайм-аут,Долженценить да WTCNT зарегистрироватьсяисходныйценить ;

3. Регистр счетчика сторожевого таймера (WTCNT).


сторожевой песвремяустройствосчитатьзарегистрироваться : Полное английское имя WATCHDOG TIMER COUNT (WTCNT) REGISTER ;

  • 1.эффект : Должензарегистрироватьсяиспользуется для хранилище времяустройство изкогдавпередизсчитатьценить;
  • 2.исходныйценитьнастраивать : когдасторожевой пес таймер Когда впервые работал, WTDAT зарегистрироватьсясерединаизценить Не загружается автоматически WTCNT зарегистрироватьсясередина, WTCNT зарегистрироваться существование Необходимо установить перед началом работы начальное значение;

4. Регистр очистки прерываний сторожевого таймера (WTCLRINT).


сторожевой песвремяустройствопрерыватьубиратьзарегистрироваться : Полное английское имя WATCHDOG TIMER INTERRUPT CLEAR (WTCLRINT) REGISTER ;

  • 1.эффект : Должензарегистрироватьсяиспользуется для Прозрачныйпрерывать;
  • 2. Прервать сервисную процедуру : Программа Ответственный существовать прерывать После завершения обслуживания убирать Связанный прерывать;
  • 3.зарегистрироватьсяиспользоватьметод : Написание любой цены для регистрации будет очищено. ;
  • 4.зарегистрироваться Нечитаемый : WTCLRINT оценитьда не читаетсяиз ;

3. Отключить пример ассемблерного кода сторожевого таймера

1. Написание ассемблерного кода

(1) Логический анализ кода


закрытиесторожевой пес код логика анализировать :

  • 1.определение Макросдержатьсторожевой песконтрользарегистрироватьсяадрес : определение сторожевой пес контрользарегистрироваться Местосуществоватьизадрес, для облегчения доступа, #define pWTCON 0x7E004000 ;
  • 2.определение метки вызова : существовать компиляция кодсерединаопределение этикетка, используется для отметказакрытиесторожевой песизинструкция адрес , использовать bl инструкция Перейти к этому ярлыку, Готов к выполнению закрытиесторожевой песиздействовать, код disable_watchdog : ;
  • 3. будет сторожевой пес контрользарегистрироваться адрес нагрузка приезжать Универсальныйзарегистрироватьсясередина : Воля 0x7E004000 адрес нагрузкаприезжать Универсальныйзарегистрироватьсясередина, для последующего обращения к доступу , код ldr r0, =pWTCON ;
  • 4. будет немедленный номер 0 настраиватьприезжать Универсальныйзарегистрироватьсясередина : Воля немедленный номер 0 настраиватьприезжать Универсальныйзарегистрироваться r1 середина, Должензарегистрироватьсясерединаизценитьдахотетьиспользуется длянаделятьценитьдействоватьизоригинальныйценить, код mov r1, #0x0 ;
  • 5.настраиватьсторожевой песконтрользарегистрироваться : зарегистрироваться r1 серединаизценить житьприезжать r0 зарегистрироватьсяхранилищеизадрес переписываться в памяти, Уведомление Первый против R0 серединаизадресруководитьобращение,Затемсуществоватьнастраивать Долженобращениепозжеценить, код str r1, [r0] ;

(2) Пример ассемблерного кода


компиляциякод Пример :

код Язык:javascript
копировать
@****************************  
@File:start.S  
@  
@BootLoader Инициализировать 
@****************************  

.text                                   @ Макрос Укажите кодовую часть  
.global _start                          @ Псевдостандарт объявляет глобальный стартовый символ  
_start:                                 @ Знак входа в программу  
        b   reset                       @ reset Комплексное исключение Кусочек  
        ldr pc, _undefined_instruction  @ Не определение ненормальное, Воля _undefined_instruction ценитьнагрузкаприезжать pc в указателе  
        ldr pc,_software_interrupt     @ мягкийпрерыватьаномальный  
        ldr pc, _prefetch_abort         @ Исключение по предварительной выборке  
        ldr pc, _data_abort             @ Исключение чтения данных  
        ldr pc, _not_used               @ занимать 0x00000014 адрес                            
        ldr pc,_irq                    @ обычнопрерыватьаномальный  
        ldr pc, _fiq                    @ мягкийпрерыватьаномальный  

_undefined_instruction: .word undefined_instruction @ _undefined_instruction На этикетке магазина есть цена,Долженценитьда 32 Кусочекадрес undefined_instruction, undefined_instruction даодинадрес  
_software_interrupt:    .word software_interrupt    @ мягкийпрерыватьаномальный  
_prefetch_abort:    .word prefetch_abort            @ Исключение по предварительной выборке иметь дело с  
_data_abort:        .word data_abort                @ Исключение чтения данных  
_not_used:      .word not_used                      @ нулевой Кусочекиметь дело с  
_irq:           .word irq                           @ обычнопрерыватьиметь дело с  
_fiq:           .word fiq                           @ быстрыйпрерыватьиметь дело с  

undefined_instruction:                              @ undefined_instruction адресмагазин для выполнения из содержимого  
        nop  

software_interrupt:                                 @ software_interrupt адресмагазин для выполнения из содержимого  
        nop  

prefetch_abort:                                     @ prefetch_abort адресмагазин для выполнения из содержимого  
        nop  

data_abort:                                         @ data_abort адресмагазин для выполнения из содержимого  
        nop  

not_used:                                           @ not_used адресмагазин для выполнения из содержимого  
        nop  

irq:                                                @ irq адресмагазин для выполнения из содержимого  
        nop  

fiq:                                                @ fiq адресмагазин для выполнения из содержимого  
        nop  

reset:                                              @ reset адресмагазин для выполнения из содержимого  
        bl set_svc                                  @ Прыжокприезжать set_svc Выполнено на лейбле, настраивать svc рабочий режим
        bl disable_watchdog                         @ Прыжокприезжать disable_watchdog выполнение этикетки, закрытиесторожевой пес

set_svc:
        mrs r0, cpsr                                @ Воля CPSR зарегистрироватьсясерединаизценить Экспорт приезжать R0 зарегистрироватьсясередина        bic r0, r0, #0x1f                           @ Воля R0 зарегистрироватьсясерединаизценить и #0x1f немедленный номер руководитьидействовать, И результаты Воля спасли приезжать R0 зарегистрироватьсясередина, Актуально да Волязарегистрироваться 0 ~ 4 Кусочек набор 0
        orr r0, r0, #0xd3                           @ Воля R0 зарегистрироватьсясерединаизценить и #0xd3 немедленный номер руководитьилидействовать, И результаты Воля спасли приезжать R0 зарегистрироватьсясередина, Актуальная данарегулировка 0 ~ 4 Кусочек зарегистрироватьсяценить изпроцессоррабочий режимкод
        msr cpsr,r0                                @ Воля R0 зарегистрироватьсясерединаизценить держатьприезжать CPSR зарегистрироватьсясередина#define pWTCON 0x7e004000                           @ определениесторожевой песконтрользарегистрироваться адрес ( 6410Совет по развитию )
disable_watchdog:                                 
        ldr r0,=pWTCON                             @ Первый Воляконтрользарегистрироватьсяадресдержатьприезжать Универсальныйзарегистрироватьсясередина        mov r1, #0x0                                @ подготовить один 0 ценить,сторожевой песконтрользарегистрироваться Всенастраиватьдля0,Прямо сейчассторожевой пестакжезакрытие Понятно        str r1,[r0]                                @ Воля 0 ценить настраиватьприезжать сторожевой песконтрользарегистрироватьсясередина

2. Скрипт компоновщика


gboot.lds скрипт компоновщика кодоаналитика :

  • 1. Укажите формат вывода ( процессор Архитектура ) : использовать OUTPUT_ARCH(имя схемы) указатьвыход Формат,Прямо сейчаспроцессориз Архитектура, Хереда arm архитектураиз, OUTPUT_ARCH(arm) ;
  • 2. Указать вход программы из : настраиватькомпилироватьвыходиз Вход в программу Кусочекнабор, Грамматика для ENTRY(Вход Кусочекнабор), существоватьвышеиз Start.S серединанастройка входа в программу да _start, коддля ENTRY(_start) ;
  • 3.настраиватькодчасть : использовать .text : настраиватькодчасть;
  • 4.настраиватьданныечасть : использовать .data : настраиватьданныечасть;
  • 5.настраивать BSS часть : использовать .bss : настраивать BSS часть;
    • ( 1 ) Записывать BSS частьизначинатьадрес : bss_start = .; ;
    • ( 2 ) Записывать BSS частьиз Заканчиватьадрес : bss_end = .; ;
  • 6. Выравнивание: Каждая часть требует настройки памяти из формата выравнивания, использовать . = ALIGN(4); настраивать Четыребайт Выравнивание Прямо сейчас Может;
  • 7.код Пример :
код Язык:javascript
копировать
OUTPUT_ARCH(arm)        /*Указываем структуру процессора*/  
ENTRY(_start)           /*Указать запись программы существовать _start Место маркировки*/  
SECTIONS {                
    . = 0x50008000;     /*Ссылка на всю программуизначинать Кусочекнабор,в соответствии с Совет по развитию Конечно, другой Совет по развитиюадреснепоследовательный*/  

    . = ALIGN(4);       /*Выровнять дело с, Перед началом каждой части руководить 4 байтalign*/  
    .text :             /*кодчасть*/  
    {  
    start.o (.text)     /*start.S Конвертировать в исходную часть*/  
    *(.text)            /*Другая часть кода*/  
    }  

    . = ALIGN(4);       /*Выровнять дело с, Перед началом каждой части руководить 4 байтalign*/  
    .data :             /*данныечасть*/  
    {  
    *(.data)  
    }  

    . = ALIGN(4);       /*Выровнять дело с, Перед началом каждой части руководить 4 байтalign*/  
    bss_start = .;      /*Записывать bss частьначинать Кусочекнабор*/  
    .bss :              /*bss часть*/  
    {  
    *(.bss)   
    }  
    bss_end = .;        /*Записывать bss часть Заканчивать Кусочекнабор*/  
} 

3. Скрипт компиляции Makefile


makefile Написание документов :

  • 1. Общие правила (правила составления файла сборки): Файл сборки компилируется в файл .o с тем же именем., документ имеет то же имя, Различные суффиксы, %.o : %.S, производитьпроцессда arm-linux-gcc -g -c $^ , в ^ Логотип будет нанесен в зависимости от документа, существовать по этому правилу start.S будет мутировать в start.o ;
  • 2. Общие правила (правила компиляции C-файла): C кодкомпилироватьстановиться То же имяиз .o документ, %.o : %.c , производитьпроцессда arm-linux-gcc -g -c $^ ;
  • 3.настройка конечной цели : использовать all: настраиватьфинальныйкомпилировать Цель; ( 1 ) полагатьсядокумент : производство Конечная цель требует зависимостей start.o документ, использовать all: start.o Указывает, что конечная цель зависит от этого документа; ( 2 ) процесс связи : arm-linux-ld -Tgboot.lds -o gboot.elf ^,нуждатьсяиспользоватьскрипт компоновщикаруководитьсоединять, ①Инструмент ссылки arm-linux-ld инструмент, ②Использование -Tgboot.lds настраиватьскрипт компоновщика Я только что написал это gboot.lds скрипт компоновщика, ③выходдокументда gboot.elf Этот средний документ,④ полагатьсядокументда^ Представляет то, на что опирается хаизиз; ( 3 ) Преобразовать в исполняемый двоичный документ : arm-linux-objcopy -O binary gboot.elf gboot.bin,использовать -O binary настраиватьвыходдвоичныйдокумент,полагатьсядокументда gboot.elf, выходизисполняемый двоичный документ Прямо сейчас Результат gboot.bin ;
  • 4.Содержимое файла makefile:
код Язык:javascript
копировать
all: start.o #зависит от start.o  
    arm-linux-ld -Tgboot.lds -o gboot.elf $^    #использоватьскрипт компоновщика, Воля start.o изменятьдля gboot.elf  
    arm-linux-objcopy -O binary gboot.elf gboot.bin #Воля gboot.elf Преобразование в для может быть выполнено непосредственно на доске. gboot.bin документ  

%.o : %.S   #общие правила, нравиться start.o Да start.S компилировать Приходитьиз, -c да Толькокомпилировать Нет ссылки  
    arm-linux-gcc -g -c $^  

%.o : %.c   #общие правила, нравиться start.o Да start.c компилировать Приходитьиз, -c да Толькокомпилировать Нет ссылки  
    arm-linux-gcc -g -c $^  

.PHONY: clean     
clean:              #clearкомпилировать информацию  
    rm *.o *.elf *.bin  

4. Скомпилируйте и выведите исполняемый файл.


Процесс компиляции :

  • 1. Подготовка документов : Воля компиляциякод ( start.S ) скрипт компоновщика ( gboot.lds ) makefile документ копироватьприезжатькомпилировать Оглавление ;
  • 2. Выполните команду компиляции: make ;
  • 3. Результаты компиляции: Вы можете посмотреть приезжать Сгенерировано компилировать Цельдокумент start.o,Связьдокумент gboot.elf, Исполняемый из двоичного документа gboot.bin ;

Загрузите справочные статьи и сопутствующие материалы для этого блога. :

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose