Пн окт 03, 2022 08:08:50
- printf() c-version (no c++)
- no Arduino library
- arm-gcc toolchain & std library
_FDEV_SETUP_WRITE was not declared in this scope
...
dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc.a(libc_a-fstatr.o): in function `_fstat_r':
/data/jenkins/workspace/GNU-toolchain/arm-11/src/newlib-cygwin/newlib/libc/reent/fstatr.c:55: warning: undefined reference to `_fstat'
dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc.a(libc_a-isattyr.o): in function `_isatty_r':
/data/jenkins/workspace/GNU-toolchain/arm-11/src/newlib-cygwin/newlib/libc/reent/isattyr.c:52: warning: undefined reference to `_isatty'
dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc.a(libc_a-sbrkr.o): in function `_sbrk_r':
/data/jenkins/workspace/GNU-toolchain/arm-11/src/newlib-cygwin/newlib/libc/reent/sbrkr.c:51: warning: undefined reference to `_sbrk'
dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc.a(libc_a-writer.o): in function `_write_r':
/data/jenkins/workspace/GNU-toolchain/arm-11/src/newlib-cygwin/newlib/libc/reent/writer.c:49: warning: undefined reference to `_write'
dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc.a(libc_a-closer.o): in function `_close_r':
/data/jenkins/workspace/GNU-toolchain/arm-11/src/newlib-cygwin/newlib/libc/reent/closer.c:47: warning: undefined reference to `_close'
dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc.a(libc_a-lseekr.o): in function `_lseek_r':
/data/jenkins/workspace/GNU-toolchain/arm-11/src/newlib-cygwin/newlib/libc/reent/lseekr.c:49: warning: undefined reference to `_lseek'
dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: dev/bin/arm/11.3/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libc.a(libc_a-readr.o): in function `_read_r':
/data/jenkins/workspace/GNU-toolchain/arm-11/src/newlib-cygwin/newlib/libc/reent/readr.c:49: warning: undefined reference to `_read'
...
~/.arduino15/packages/arduino/hardware/sam/1.6.12
#///////////////////////////////////////////////////////////////////////////////
# arduino toolchain version's
#///////////////////////////////////////////////////////////////////////////////
ARD_SAM_VER = 1.6.12
ARD_ARM_VER = 4.8.3-2014q1
ARD_BOS_VER = 1.6.1
#///////////////////////////////////////////////////////////////////////////////
# arm toolchain version -> ~/dev.bin.arm/
#///////////////////////////////////////////////////////////////////////////////
#ARM_VER_DEF = 5.2.1
#ARM_VER_DEF = 11.2
ARM_VER_DEF = 11.3
#ARM_VER_DEF = 12.2
ARM_VER ?= $(ARM_VER_DEF)
#TOOL_CHAIN_DEF = ARDUINO
#TOOL_CHAIN_DEF = ARM_DEF
TOOL_CHAIN_DEF = ARM
TOOL_CHAIN ?= $(TOOL_CHAIN_DEF)
#///////////////////////////////////////////////////////////////////////////////
# post
#///////////////////////////////////////////////////////////////////////////////
ARD = $(HOME)/.arduino15/packages/arduino
SAM = $(ARD)/hardware/sam/$(ARD_SAM_VER)
SAM_SYS = $(SAM)/system
...
INC += -I$(PRJ_DIR)/inc
INC += -I$(PRJ_DIR)/lib
INC += -I$(PRJ_DIR)/src
INC += -I$(SAM_SYS)/
INC += -I$(SAM_SYS)/libsam
INC += -I$(SAM_SYS)/libsam/include
INC += -I$(SAM_SYS)/CMSIS/CMSIS/Include
INC += -I$(SAM_SYS)/CMSIS/Device/ATMEL
#
INC += -I$(SAM)/cores/arduino
...
#///////////////////////////////////////////////////////////////////////////////
# Toolchain: ARM | Arduino & Include
#///////////////////////////////////////////////////////////////////////////////
ifeq ($(TOOL_CHAIN),ARM_DEF)
_P = /usr/bin/arm-none-eabi-
else
ifeq ($(TOOL_CHAIN),ARM)
_P = $(HOME)/dev.bin.arm/$(ARM_VER)/bin/arm-none-eabi-
else
_P = $(ARD)/tools/arm-none-eabi-gcc/$(ARD_ARM_VER)/bin/arm-none-eabi-
endif
endif
#BOSSA = $(ARD)/tools/bossac/$(ARD_BOS_VER)-arduino/bossac
BOSSA = bossac
AR = $(_P)ar
CC = $(_P)gcc
CXX = $(_P)g++
AS = $(_P)as
NM = $(_P)nm
LKELF = $(_P)g++
OBJCP = $(_P)objcopy
SIZE = $(_P)size
STRIP = $(_P)strip
arm-none-eabi
- 11.2
- 11.3
- 12.2
- 5.2.1
~/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-XXX
TOOL_CHAIN_DEF = ARDUINO
TOOL_CHAIN_DEF = ARM_DEF
TOOL_CHAIN_DEF = ARM
Пн окт 03, 2022 08:37:58
Пн окт 03, 2022 09:22:09
Пн окт 03, 2022 09:48:04
Пн окт 03, 2022 10:19:51
MLX90640 писал(а):На Си для микроконтроллеров завсегда применялся sprintf
Пн окт 03, 2022 10:41:22
Пн окт 03, 2022 12:25:19
Пн окт 03, 2022 13:13:08
Пн окт 03, 2022 16:15:45
Пн окт 03, 2022 17:47:18
Мурик писал(а):Получаете форматированный текст функцией sprintf
Пн окт 03, 2022 19:02:51
Вт окт 04, 2022 05:50:04
- printf() c-version (no c++)
- no Arduino library
- arm-gcc toolchain & std library
Вт окт 04, 2022 13:42:16
Вт окт 04, 2022 17:52:35
#include <stdio.h>
int main(void)
{
printf("0123");
while(1);
}
Ср окт 05, 2022 12:50:00
Ср окт 05, 2022 13:18:52
Чт окт 06, 2022 07:22:36
Чт окт 06, 2022 08:31:45
Чт окт 06, 2022 18:39:22
правильно, значит все таки послушался, взял у хозяина зеркало, общаешься... молодец!Странный этот sunjob
////////////////////////////////////////////////////////////////////////////////
void uart_ini_baud(int32_t baud)
////////////////////////////////////////////////////////////////////////////////
{
//###!!!
// direct access to PIO
//###!!!
PIOA->PIO_IDR = PIO_PA8A_URXD | PIO_PA9A_UTXD;
PIOA->PIO_PDR = PIO_PA8A_URXD | PIO_PA9A_UTXD;
PIOA->PIO_ABSR &= ~(PIO_PA8A_URXD | PIO_PA9A_UTXD) & PIOA->PIO_ABSR;
PIOA->PIO_PUER = PIO_PA8A_URXD; // | PIO_PA9A_UTXD;
PMC->PMC_WPMR = 0x504D4300;
PMC->PMC_PCER0 = (1 << PF_ID_UART);
PMC->PMC_WPMR = 0x504D4301;
PF_UART->UART_CR = UART_CR_RXDIS | UART_CR_TXDIS | UART_CR_RSTRX | UART_CR_RSTTX | UART_CR_RSTSTA;
PF_UART->UART_BRGR = (MCLK / baud / 16);
PF_UART->UART_MR = UART_MR_PAR_NO | UART_MR_CHMODE_NORMAL;
PF_UART->UART_PTCR = UART_PTCR_RXTEN | UART_PTCR_TXTEN;
PF_UART->UART_CR = UART_CR_RXEN | UART_CR_TXEN;
}
////////////////////////////////////////////////////////////////////////////////