К1921ВГ015 общее

32-разрядные микроконтроллеры разработки АО "НИИЭТ"

Модераторы: ea, dav, bkolbov, Alis, pip, _sva_

Аватара пользователя
maxlab
Сообщения: 28
Зарегистрирован: 05 дек 2025, 10:29
Предприятие: Пенсионер фрилансер
Откуда: Краснодар,RU

Re: К1921ВГ015 общее

Сообщение maxlab »

RabidRabbit Спасибо за Ваши ответы.
А, кстати, оверклокинг не завезли на этот контроллер?
Девице - Device
RabidRabbit
Сообщения: 136
Зарегистрирован: 10 июн 2025, 12:11
Предприятие: HomeWork

Re: К1921ВГ015 общее

Сообщение RabidRabbit »

maxlab писал(а): 14 фев 2026, 17:36 А, кстати, оверклокинг не завезли на этот контроллер?
Изготовитель ручается, что на 50 МГц устройство будет работать в обозначенных температурных рамках и указанном диапазоне питающих напряжений. Никто, однако, не мешает использовать изделие более мягких условиях :) 128 МГц вроде как вполне рабочая частота, не забывайте только соответственно выставить параметр FLASH->CTRL.LAT.
Аватара пользователя
maxlab
Сообщения: 28
Зарегистрирован: 05 дек 2025, 10:29
Предприятие: Пенсионер фрилансер
Откуда: Краснодар,RU

Re: К1921ВГ015 общее

Сообщение maxlab »

RabidRabbit писал(а): 14 фев 2026, 19:47 128 МГц вроде как вполне рабочая частота, не забывайте только соответственно выставить параметр FLASH->CTRL.LAT.
Вы имеете в виду поиграться с flash latency?
Я пока чайник в RISCV вообще, и в этом контроллере в частности... Но по мере накопления опыта поэкспериментирую в разгоне.
Мне же нужна 1 микросекунда :)
Девице - Device
RabidRabbit
Сообщения: 136
Зарегистрирован: 10 июн 2025, 12:11
Предприятие: HomeWork

Re: К1921ВГ015 общее

Сообщение RabidRabbit »

maxlab писал(а): 14 фев 2026, 22:05 Вы имеете в виду поиграться с flash latency?
Я пока чайник в RISCV вообще, и в этом контроллере в частности... Но по мере накопления опыта поэкспериментирую в разгоне.
Мне же нужна 1 микросекунда :)
Не "поиграться", а сделать так, как сказано в РП :)
< 30 МГц LAT = 0
< 60 МГц LAT = 1
< 90 МГц LAT = 2
< 120 МГц LAT = 3
< 150 МГц LAT = 4
RabidRabbit
Сообщения: 136
Зарегистрирован: 10 июн 2025, 12:11
Предприятие: HomeWork

Re: К1921ВГ015 общее

Сообщение RabidRabbit »

maxlab писал(а): 14 фев 2026, 22:05 Мне же нужна 1 микросекунда :)
Микросекунда для чего? Наверняка можно обойтись таймером TMR/TMR32, без участия системного таймера.
Аватара пользователя
maxlab
Сообщения: 28
Зарегистрирован: 05 дек 2025, 10:29
Предприятие: Пенсионер фрилансер
Откуда: Краснодар,RU

Re: К1921ВГ015 общее

Сообщение maxlab »

RabidRabbit писал(а): 14 фев 2026, 23:11 Наверняка можно обойтись таймером TMR/TMR32, без участия системного таймера.
Можно... Но уже не нужно ;) Я выкрутился. Таймеров мало и они для других задач пригодятся

Код: Выделить всё

#include "Common.h"

#define MTIMER_CLOCK_TO_SECONDS(CLOCK) ((uint64_t)(((CLOCK)/(MTIME_FREQ_HZ))))
#define MTIMER_CLOCK_TO_MSEC(CLOCK)    ((uint64_t)(((CLOCK)/(MTIME_FREQ_HZ))*1000))
#define MTIMER_CLOCK_TO_USEC(CLOCK)    ((uint64_t)(((CLOCK)/(MTIME_FREQ_HZ))*1000000))

uint64_t timestamp(void)
{
	return mtimer_get_raw_time();;
}

uint64_t millis(void)
{
	return MTIMER_CLOCK_TO_MSEC(mtimer_get_raw_time());
}

uint64_t micros(void)
{
	return MTIMER_CLOCK_TO_USEC(mtimer_get_raw_time());
}

uint64_t seconds(void)
{
	return MTIMER_CLOCK_TO_SECONDS(mtimer_get_raw_time());
}

В предыдущей жизни эти функции базировались на счетчике HAL_Tics который инкрементировался за счет прерывания настроенного на 1 мкс от системного таймера в архитектуре C-SKY. Но там тактовая 240Мгц была :D
Девице - Device
ea
Администратор
Сообщения: 110
Зарегистрирован: 10 окт 2014, 09:08

Re: К1921ВГ015 общее

Сообщение ea »

Перец писал(а): 09 янв 2026, 23:50 Народ, у меня почему-то Syntacore собирает bin нулевого размера. Тестирую на примере ADCSD. Дела по инструкции из "Быстрого старта".

Компилируется без ошибок, линкер отрабатывает

make all
Building file: /home/sap/Projects/K1921/adcsd/app/main.c
Invoking: GNU RISC-V Cross C Compiler
riscv64-unknown-elf-gcc -march=rv32imfc_zicsr -mabi=ilp32f -msmall-data-limit=8 -mstrict-align -mno-save-restore -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -fno-builtin -flto -DSELF_TIMED=1 -Wall -Wextra -g3 -ggdb -DHSECLK_VAL=16000000 -DRETARGET -DSYSCLK_PLL -DCKO_PLL0 -I/home/sap/tools/RISC-V/K1921/sc-dt/platform/Device/K1921VG015/include -I/home/sap/tools/RISC-V/K1921/sc-dt/platform/retarget/Template/K1921VG015 -I/home/sap/tools/RISC-V/K1921/sc-dt/hardware/bsp/NIIET-DEV-K1921VG015 -std=gnu11 -MMD -MP -MF"app/main.d" -MT"app/main.o" -c -o "app/main.o" "/home/sap/Projects/K1921/adcsd/app/main.c"
Finished building: /home/sap/Projects/K1921/adcsd/app/main.c

Building target: adcsd.elf
Invoking: GNU RISC-V Cross C++ Linker
riscv64-unknown-elf-g++ -march=rv32imfc_zicsr -mabi=ilp32f -msmall-data-limit=8 -mstrict-align -mno-save-restore -Og -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -fno-builtin -flto -DSELF_TIMED=1 -Wall -Wextra -g3 -ggdb -T /home/sap/tools/RISC-V/K1921/sc-dt/platform/Device/K1921VG015/ldscripts/k1921vg015_flash.ld -nostartfiles -Xlinker --gc-sections -L/home/sap/tools/RISC-V/K1921/sc-dt/platform/Device/K1921VG015/ldscripts -Wl,-Map,"adcsd.map" -o "adcsd.elf" ./app/main.o -lgcc -lc
/home/sap/tools/RISC-V/K1921/sc-dt/riscv-gcc/bin/../lib/gcc/riscv64-unknown-elf/13.2.0/../../../../riscv64-unknown-elf/bin/ld: warning: cannot find entry symbol _start; defaulting to 80000000
Finished building target: adcsd.elf

Invoking: GNU RISC-V Cross Create Flash Image
riscv64-unknown-elf-objcopy -O binary "adcsd.elf" "adcsd.bin"
Finished building: adcsd.bin

Invoking: GNU RISC-V Cross Create Listing
riscv64-unknown-elf-objdump --source --all-headers --demangle --line-numbers --wide "adcsd.elf" > "adcsd.lst"
Finished building: adcsd.lst

Invoking: GNU RISC-V Cross Print Size
riscv64-unknown-elf-size --format=berkeley -x --totals "adcsd.elf"
text data bss dec hex filename
0x0 0x0 0x800 2048 800 adcsd.elf
0x0 0x0 0x800 2048 800 (TOTALS)
Finished building: adcsd.siz



Может встречалось кому-нибудь такое ?
Может ли кто-нибудь подсказать что я делаю не так ?
Проверьте настройки проекта "Tool Settings" "GNU RISC-V Cross Create Flash Image"
Вложения
sc_dt_Create_bin.png
sc_dt_Create_bin.png (55.36 КБ) 1232 просмотра
Аватара пользователя
maxlab
Сообщения: 28
Зарегистрирован: 05 дек 2025, 10:29
Предприятие: Пенсионер фрилансер
Откуда: Краснодар,RU

Re: К1921ВГ015 общее

Сообщение maxlab »

Перец писал(а): 09 янв 2026, 23:50 Народ, у меня почему-то Syntacore собирает bin нулевого размера. Тестирую на примере ADCSD. Дела по инструкции из "Быстрого старта".
У меня так все работает
Изображение
Девице - Device
Аватара пользователя
maxlab
Сообщения: 28
Зарегистрирован: 05 дек 2025, 10:29
Предприятие: Пенсионер фрилансер
Откуда: Краснодар,RU

Re: К1921ВГ015 общее

Сообщение maxlab »

Приветствую всех!
Вопрос из разряда "что я делаю не так". Пользуемся библиотекой plib015.
Не могу включить подтяжку PULLUP. Вроде все просто и решается двумя вызовами функций... но нет логической единицы на ножках порта.
Вот код

Код: Выделить всё

		case INPUT_PULLUP:
		    GPIO_OutCmd(port, pin_Map[pin].halPin, DISABLE); // нога на вход INPUT_PULLUP
		    GPIO_PullModeConfig(port, pin_Map[pin].halPin, GPIO_PullMode_PU); //подтяжка вкл
		    break;

Может я что то упустил?
Девице - Device
Аватара пользователя
maxlab
Сообщения: 28
Зарегистрирован: 05 дек 2025, 10:29
Предприятие: Пенсионер фрилансер
Откуда: Краснодар,RU

Re: К1921ВГ015 общее

Сообщение maxlab »

maxlab писал(а): 27 фев 2026, 21:04 Может я что то упустил?
Похоже что не я упустил. Немного подправил библиотечный код - и все заработало как мне нужно.

Код: Выделить всё

void GPIO_PullModeConfig(GPIO_TypeDef* GPIOx, uint32_t Pin, GPIO_PullMode_TypeDef PullMode)
{
    assert_param(IS_GPIO_PERIPH(GPIOx));
    assert_param(IS_GPIO_PIN(Pin));
    assert_param(IS_GPIO_PULL_MODE(PullMode));

    MODIFY_REG(GPIOx->PULLMODE, Pin, (uint32_t)PullMode*Pin);
}
Групповую установку битов не проверял. По одиночке работает
Девице - Device
Ответить

Вернуться в «32-разрядные микроконтроллеры»