Пт фев 11, 2022 19:04:32
/opt/bin/arm-none-eabi-gcc -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -fsingle-precision-constant -D __ARM_ARCH_7M__ -specs=nano.specs -L../inc/ld -Tstm32f303xB.ld -Wl,-Map=mk/usart1.map,--cref -Wl,--gc-sections -Wl,--print-memory-usage mk/hardware.o mk/main.o mk/usart.o mk/startup.o -o mk/usart1.elf
SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));
Пт фев 11, 2022 19:51:43
Пт фев 11, 2022 20:12:45
Пт фев 11, 2022 22:03:11
Пт фев 11, 2022 22:11:33
А можно узнать зачем применён оператор |= ? Ну мне так, чисто поржать.
void WEAK __attribute__ ((naked)) __attribute__ ((noreturn)) reset_handler(void){
extern char _sdata; // .data section start
extern char _edata; // .data section end
extern char _sbss; // .bss section start
extern char _ebss; // .bss section end
extern char _ldata; // .data load address
char *dst = &_sdata;
char *src = &_ldata;
// enable 8-byte stack alignment to comply with AAPCS
SCB->CCR |= 0x00000200;
// copy initialized variables data
while ( dst < &_edata ) { *dst++ = *src++; }
// clear uninitialized variables
for ( dst = &_sbss; dst < &_ebss; dst++ ) { *dst = 0; }
/* FPU settings ----------*/
#if (__FPU_PRESENT == 1)
SCB->CPACR = 0x0f << 20 ; /* set CP10 and CP11 Full Access */
nop();
__DSB();
__ISB();
#endif
// call main
main();
// halt
for(;;) {}
}
Сб фев 12, 2022 00:20:53
SCB->CCR |= 0x00000200;
SCB->CPACR = 0x0f << 20 ; /* set CP10 and CP11 Full Access */
nop();
__DSB();
__ISB();
for(;;) {}
Сб фев 12, 2022 01:42:21
Сб фев 12, 2022 08:28:24
Сб фев 12, 2022 09:58:10
Сб фев 12, 2022 10:37:08
Сб фев 12, 2022 11:28:53
Сб фев 12, 2022 13:12:41
if(x > 0.) while(x < 1.){ ...
Сб фев 12, 2022 14:12:38
Сб фев 12, 2022 14:20:47
if(x > 0.) while(x < 1.){ ...
Сб фев 12, 2022 14:33:51
if(x > 0.) while(x < 1.){ ...
Сб фев 12, 2022 15:02:43
Сб фев 12, 2022 15:20:16
Сб фев 12, 2022 15:22:53
Сб фев 12, 2022 17:09:07
Сб фев 12, 2022 17:13:46
Reflector писал(а):Помню когда AVI-crak форматирование для float написал я с ходу две ошибки нашел,
216MGz
float = 351tik +1280b printf float = 5259tik +8208b
double = 301tik +1376b printf double = 1570tik +8208b
int64_t = 487tik +192b printf int64_t = 3387tik +8236b
int32_t = 150tik +140b printf int32_t = 745tik +8208b
all_format + 1684b