К1921ВГ015 общее
Модераторы: ea, dav, bkolbov, Alis, pip, _sva_
- maxlab
- Сообщения: 28
- Зарегистрирован: 05 дек 2025, 10:29
- Предприятие: Пенсионер фрилансер
- Откуда: Краснодар,RU
Re: К1921ВГ015 общее
RabidRabbit Спасибо за Ваши ответы.
А, кстати, оверклокинг не завезли на этот контроллер?
А, кстати, оверклокинг не завезли на этот контроллер?
Девице - Device
-
RabidRabbit
- Сообщения: 136
- Зарегистрирован: 10 июн 2025, 12:11
- Предприятие: HomeWork
Re: К1921ВГ015 общее
Изготовитель ручается, что на 50 МГц устройство будет работать в обозначенных температурных рамках и указанном диапазоне питающих напряжений. Никто, однако, не мешает использовать изделие более мягких условиях
- maxlab
- Сообщения: 28
- Зарегистрирован: 05 дек 2025, 10:29
- Предприятие: Пенсионер фрилансер
- Откуда: Краснодар,RU
Re: К1921ВГ015 общее
Вы имеете в виду поиграться с flash latency?RabidRabbit писал(а): ↑14 фев 2026, 19:47 128 МГц вроде как вполне рабочая частота, не забывайте только соответственно выставить параметр FLASH->CTRL.LAT.
Я пока чайник в RISCV вообще, и в этом контроллере в частности... Но по мере накопления опыта поэкспериментирую в разгоне.
Мне же нужна 1 микросекунда
Девице - Device
-
RabidRabbit
- Сообщения: 136
- Зарегистрирован: 10 июн 2025, 12:11
- Предприятие: HomeWork
Re: К1921ВГ015 общее
Не "поиграться", а сделать так, как сказано в РП
< 30 МГц LAT = 0
< 60 МГц LAT = 1
< 90 МГц LAT = 2
< 120 МГц LAT = 3
< 150 МГц LAT = 4
-
RabidRabbit
- Сообщения: 136
- Зарегистрирован: 10 июн 2025, 12:11
- Предприятие: HomeWork
- maxlab
- Сообщения: 28
- Зарегистрирован: 05 дек 2025, 10:29
- Предприятие: Пенсионер фрилансер
- Откуда: Краснодар,RU
Re: К1921ВГ015 общее
Можно... Но уже не нужно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Мгц была
Девице - Device
Re: К1921ВГ015 общее
Проверьте настройки проекта "Tool Settings" "GNU RISC-V Cross Create Flash Image"Перец писал(а): ↑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
Может встречалось кому-нибудь такое ?
Может ли кто-нибудь подсказать что я делаю не так ?
- Вложения
-
- sc_dt_Create_bin.png (55.36 КБ) 1232 просмотра
- maxlab
- Сообщения: 28
- Зарегистрирован: 05 дек 2025, 10:29
- Предприятие: Пенсионер фрилансер
- Откуда: Краснодар,RU
- maxlab
- Сообщения: 28
- Зарегистрирован: 05 дек 2025, 10:29
- Предприятие: Пенсионер фрилансер
- Откуда: Краснодар,RU
Re: К1921ВГ015 общее
Приветствую всех!
Вопрос из разряда "что я делаю не так". Пользуемся библиотекой plib015.
Не могу включить подтяжку PULLUP. Вроде все просто и решается двумя вызовами функций... но нет логической единицы на ножках порта.
Вот код
Может я что то упустил?
Вопрос из разряда "что я делаю не так". Пользуемся библиотекой 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 общее
Похоже что не я упустил. Немного подправил библиотечный код - и все заработало как мне нужно.
Код: Выделить всё
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
