add armv8 compile suppout to lwip
This commit is contained in:
parent
525e02c275
commit
dca029936f
|
@ -43,9 +43,9 @@ INC_DIR = -I$(KERNEL_ROOT)/services/shell/letter-shell \
|
|||
-I$(KERNEL_ROOT)/services/app
|
||||
|
||||
ifeq ($(BOARD), imx6q-sabrelite)
|
||||
all: init test_fault simple_client simple_server shell fs_server semaphore_server test_semaphore test_ipc_null test_thread test_irq_hdlr test_irq_block test_irq_send eth_driver epit_server test_net lwip ethernet readme.txt | bin
|
||||
all: init test_fault simple_client simple_server shell fs_server semaphore_server test_semaphore test_ipc_null test_thread test_irq_hdlr test_irq_block test_irq_send eth_driver epit_server test_net lwip readme.txt | bin
|
||||
else
|
||||
all: init test_fault simple_client simple_server shell fs_server semaphore_server test_ipc_null test_thread test_semaphore readme.txt | bin
|
||||
all: init test_fault simple_client simple_server shell fs_server semaphore_server test_ipc_null test_thread test_semaphore test_net lwip readme.txt | bin
|
||||
endif
|
||||
../tools/mkfs/mkfs ./fs.img $^
|
||||
@mv $(filter-out readme.txt, $^) bin
|
||||
|
@ -64,9 +64,9 @@ eth_driver: enet_drv.o enet_test.o board_network.o enet_iomux_config.o imx6dq_gp
|
|||
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
||||
@${objdump} -S $@ > $@.asm
|
||||
|
||||
ethernet: test_gmac.o hal_gmac.o hal_gmac_3568.o hal_base.o hal_bsp.o hal_pinctrl_v2.o hal_cru.o hal_cache.o hal_gpio.o hal_timer.o hal_cru_rk3568.o system_rk3568.o hal_debug.o libserial.o printf.o libmem.o usyscall.o arch_usyscall.o session.o libipc.o
|
||||
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
||||
@${objdump} -S $@ > $@.asm
|
||||
# ethernet: test_gmac.o hal_gmac.o hal_gmac_3568.o hal_base.o hal_bsp.o hal_pinctrl_v2.o hal_cru.o hal_cache.o hal_gpio.o hal_timer.o hal_cru_rk3568.o system_rk3568.o hal_debug.o libserial.o printf.o libmem.o usyscall.o arch_usyscall.o session.o libipc.o
|
||||
# @${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
||||
# @${objdump} -S $@ > $@.asm
|
||||
|
||||
epit_server: timer.o epit.o ccm_pll.o usyscall.o arch_usyscall.o libserial.o printf.o libipc.o session.o
|
||||
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
|
||||
SRC_DIR := hal
|
||||
SRC_DIR :=
|
||||
|
||||
include $(KERNEL_ROOT)/compiler.mk
|
|
@ -1,23 +1,28 @@
|
|||
ifeq ($(BOARD), imx6q-sabrelite)
|
||||
toolchain ?= arm-none-eabi-
|
||||
user_ldflags = --specs=nosys.specs -Wl,-Map=user.map,-cref -N
|
||||
cflags = -std=c11 -O2 -march=armv7-a -mtune=cortex-a9 -nostdlib -nodefaultlibs -mfloat-abi=soft -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -ggdb -Wno-unused -Werror -fno-omit-frame-pointer -fno-stack-protector -fno-pie
|
||||
endif
|
||||
|
||||
ifeq ($(BOARD), zynq7000-zc702)
|
||||
toolchain ?= arm-xilinx-eabi-
|
||||
user_ldflags = -Wl,--start-group,-lgcc,-lc,--end-group -N
|
||||
cflags = -std=c11 -O2 -march=armv7-a -mtune=cortex-a9 -nostdlib -nodefaultlibs -mfloat-abi=soft -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -ggdb -Wno-unused -Werror -fno-omit-frame-pointer -fno-stack-protector -fno-pie
|
||||
board_specs = stub.o
|
||||
#cflags = -Wall -g -std=c11
|
||||
endif
|
||||
|
||||
ifeq ($(BOARD), ok1028a-c)
|
||||
toolchain ?= aarch64-none-elf-
|
||||
user_ldflags = -N -Ttext 0
|
||||
cflags = -g -std=c11 -mtune=cortex-a72 -nostdlib -nodefaultlibs -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -ggdb -Wno-unused -fno-omit-frame-pointer -fno-stack-protector -fno-pie
|
||||
board_specs = stub.o
|
||||
endif
|
||||
|
||||
cc = ${toolchain}gcc
|
||||
ld = ${toolchain}g++
|
||||
objdump = ${toolchain}objdump
|
||||
user_ldflags = -N -Ttext 0
|
||||
|
||||
cflags = -std=c11 -g -march=armv7-a -mtune=cortex-a9 \
|
||||
-Wno-unused -Wno-format -fno-common -ffreestanding -fno-builtin -static \
|
||||
-Wno-unaligned-access -fdce -Wall -Werror -Wno-uninitialized -Wno-strict-aliasing -fdiagnostics-show-option \
|
||||
-mapcs -marm -mfpu=neon -ftree-vectorize -fno-math-errno -funsafe-math-optimizations -fno-signed-zeros -mfloat-abi=softfp \
|
||||
-fno-omit-frame-pointer -fno-stack-protector -fno-pie
|
||||
|
||||
# cflags = -std=c11 -march=armv7-a -mtune=cortex-a9 -nostdlib -nodefaultlibs -mfloat-abi=soft -fno-pic \
|
||||
# -static -fno-builtin -fno-strict-aliasing -Wall -ggdb -Wno-unused -Werror -fno-omit-frame-pointer -fno-stack-protector -fno-pie
|
||||
|
||||
c_useropts = -O2
|
||||
c_useropts = -O0
|
||||
|
||||
INC_DIR = -I$(KERNEL_ROOT)/services/app \
|
||||
|
|
|
@ -1577,7 +1577,7 @@ HAL_Status HAL_GMAC_DMARxDescInit(struct GMAC_HANDLE *pGMAC,
|
|||
/* Get the pointer on the ith member of the Rx Desc list */
|
||||
desc = rxDescs + i;
|
||||
|
||||
desc->des0 = (uint32_t)(rxBuff + i * HAL_GMAC_MAX_PACKET_SIZE);
|
||||
desc->des0 = (uint64_t)(rxBuff + i * HAL_GMAC_MAX_PACKET_SIZE);
|
||||
desc->des1 = 0;
|
||||
desc->des2 = 0;
|
||||
desc->des3 = GMAC_DESC3_OWN | GMAC_DESC3_BUF1V | GMAC_DESC3_IOC;
|
||||
|
@ -1787,9 +1787,9 @@ HAL_Status HAL_GMAC_Start(struct GMAC_HANDLE *pGMAC, uint8_t *addr)
|
|||
value |= (rxFifosz << DMA_CH0_RX_CONTROL_RBSZ_SHIFT) & DMA_CH0_RX_CONTROL_RBSZ_MASK;
|
||||
value = value | (8 << DMA_CH0_RX_CONTROL_RXPBL_SHIFT);
|
||||
WRITE_REG(pGMAC->pReg->DMA_CH0_RX_CONTROL, value);
|
||||
WRITE_REG(pGMAC->pReg->DMA_CH0_RXDESC_LIST_ADDRESS, (uint32_t)pGMAC->rxDescs);
|
||||
WRITE_REG(pGMAC->pReg->DMA_CH0_RXDESC_LIST_ADDRESS, (uint64_t)pGMAC->rxDescs);
|
||||
WRITE_REG(pGMAC->pReg->DMA_CH0_RXDESC_TAIL_POINTER,
|
||||
(uint32_t)(pGMAC->rxDescs + pGMAC->rxSize));
|
||||
(uint64_t)(pGMAC->rxDescs + pGMAC->rxSize));
|
||||
|
||||
/* init tx chan */
|
||||
value = READ_REG(pGMAC->pReg->DMA_CH0_TX_CONTROL);
|
||||
|
@ -1797,8 +1797,8 @@ HAL_Status HAL_GMAC_Start(struct GMAC_HANDLE *pGMAC, uint8_t *addr)
|
|||
value |= DMA_CH0_TX_CONTROL_OSF;
|
||||
WRITE_REG(pGMAC->pReg->DMA_CH0_TX_CONTROL, value);
|
||||
|
||||
WRITE_REG(pGMAC->pReg->DMA_CH0_TXDESC_LIST_ADDRESS, (uint32_t)pGMAC->txDescs);
|
||||
WRITE_REG(pGMAC->pReg->DMA_CH0_TXDESC_TAIL_POINTER, (uint32_t)pGMAC->txDescs);
|
||||
WRITE_REG(pGMAC->pReg->DMA_CH0_TXDESC_LIST_ADDRESS, (uint64_t)pGMAC->txDescs);
|
||||
WRITE_REG(pGMAC->pReg->DMA_CH0_TXDESC_TAIL_POINTER, (uint64_t)pGMAC->txDescs);
|
||||
|
||||
HAL_GMAC_WriteHWAddr(pGMAC, addr);
|
||||
|
||||
|
@ -1978,7 +1978,7 @@ HAL_Status HAL_GMAC_Send(struct GMAC_HANDLE *pGMAC, void *packet,
|
|||
pGMAC->txDescIdx++;
|
||||
pGMAC->txDescIdx %= pGMAC->txSize;
|
||||
|
||||
desc->des0 = (uint32_t)packet;
|
||||
desc->des0 = (uint64_t)packet;
|
||||
desc->des1 = 0;
|
||||
desc->des2 = length;
|
||||
/*
|
||||
|
@ -1988,7 +1988,7 @@ HAL_Status HAL_GMAC_Send(struct GMAC_HANDLE *pGMAC, void *packet,
|
|||
desc->des3 = GMAC_DESC3_OWN | GMAC_DESC3_FD | GMAC_DESC3_LD;
|
||||
|
||||
WRITE_REG(pGMAC->pReg->DMA_CH0_TXDESC_TAIL_POINTER,
|
||||
(uint32_t)(pGMAC->txDescs + pGMAC->txDescIdx));
|
||||
(uint64_t)(pGMAC->txDescs + pGMAC->txDescIdx));
|
||||
|
||||
for (i = 0; i < 1000000; i++) {
|
||||
if (!(desc->des3 & GMAC_DESC3_OWN)) {
|
||||
|
@ -2078,12 +2078,12 @@ void HAL_GMAC_CleanRX(struct GMAC_HANDLE *pGMAC)
|
|||
/* Get the pointer on the ith member of the Tx Desc list */
|
||||
desc = pGMAC->rxDescs + pGMAC->rxDescIdx;
|
||||
|
||||
desc->des0 = (uint32_t)(pGMAC->rxBuf + (pGMAC->rxDescIdx *
|
||||
desc->des0 = (uint64_t)(pGMAC->rxBuf + (pGMAC->rxDescIdx *
|
||||
HAL_GMAC_MAX_PACKET_SIZE));
|
||||
desc->des1 = 0;
|
||||
desc->des2 = 0;
|
||||
desc->des3 = GMAC_DESC3_OWN | GMAC_DESC3_BUF1V | GMAC_DESC3_IOC;
|
||||
WRITE_REG(pGMAC->pReg->DMA_CH0_RXDESC_TAIL_POINTER, (uint32_t)desc);
|
||||
WRITE_REG(pGMAC->pReg->DMA_CH0_RXDESC_TAIL_POINTER, (uint64_t)desc);
|
||||
|
||||
pGMAC->rxDescIdx++;
|
||||
pGMAC->rxDescIdx %= pGMAC->rxSize;
|
||||
|
|
|
@ -105,7 +105,6 @@ static uint8_t dstAddr[6] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
|
|||
#if defined(HAL_GMAC_MODULE_ENABLED) && defined(SOC_RK3568)
|
||||
static struct GMAC_ETH_CONFIG ethConfigTable[] =
|
||||
{
|
||||
#ifdef HAL_GMAC0
|
||||
{
|
||||
.halDev = &g_gmac0Dev,
|
||||
.mode = PHY_INTERFACE_MODE_RGMII,
|
||||
|
@ -121,7 +120,6 @@ static struct GMAC_ETH_CONFIG ethConfigTable[] =
|
|||
.txDelay = 0x3C,
|
||||
.rxDelay = 0x2f,
|
||||
},
|
||||
#endif
|
||||
|
||||
#ifdef HAL_GMAC1
|
||||
{
|
||||
|
@ -143,46 +141,9 @@ static struct GMAC_ETH_CONFIG ethConfigTable[] =
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(HAL_GMAC1000_MODULE_ENABLED) && defined(SOC_RK3358)
|
||||
static struct GMAC_ETH_CONFIG ethConfigTable[] =
|
||||
{
|
||||
#ifdef HAL_GMAC0
|
||||
{
|
||||
.halDev = &g_gmacDev,
|
||||
.mode = PHY_INTERFACE_MODE_RMII,
|
||||
.maxSpeed = 100,
|
||||
.speed = 100,
|
||||
.phyAddr = 0,
|
||||
|
||||
.extClk = false,
|
||||
|
||||
.resetGpioBank = GPIO2,
|
||||
.resetGpioNum = GPIO_PIN_B5,
|
||||
.resetDelayMs = { 0, 50, 50 },
|
||||
},
|
||||
#endif
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(HAL_GMAC1000_MODULE_ENABLED) && defined(SOC_RK3308)
|
||||
static struct GMAC_ETH_CONFIG ethConfigTable[] =
|
||||
{
|
||||
#ifdef HAL_GMAC0
|
||||
{
|
||||
.halDev = &g_gmac0Dev,
|
||||
.mode = PHY_INTERFACE_MODE_RMII,
|
||||
.maxSpeed = 100,
|
||||
.speed = 100,
|
||||
.phyAddr = 0,
|
||||
|
||||
.extClk = true,
|
||||
|
||||
.resetGpioBank = GPIO4,
|
||||
.resetGpioNum = GPIO_PIN_C0,
|
||||
.resetDelayMs = { 0, 50, 50 },
|
||||
},
|
||||
#endif
|
||||
};
|
||||
#endif
|
||||
|
||||
/********************* Private Function Definition ***************************/
|
||||
|
@ -226,7 +187,7 @@ static void print_desc(struct GMAC_HANDLE *pGMAC)
|
|||
for (nIndex = 0; nIndex < pGMAC->rxSize; nIndex++) {
|
||||
desc = pGMAC->rxDescs + nIndex;
|
||||
printf("rx_desc[%d]@0x%08lx={0x%lx, 0x%lx, 0x%lx, 0x%lx};\n",
|
||||
nIndex, (uint32_t)desc, desc->des0, desc->des1, desc->des2, desc->des3);
|
||||
nIndex, (uint64_t)desc, desc->des0, desc->des1, desc->des2, desc->des3);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -235,7 +196,7 @@ static void print_desc(struct GMAC_HANDLE *pGMAC)
|
|||
for (nIndex = 0; nIndex < pGMAC->txSize; nIndex++) {
|
||||
desc = pGMAC->txDescs + nIndex;
|
||||
printf("tx_desc[%d]@0x%08lx={0x%lx, 0x%lx, 0x%lx, 0x%lx};\n",
|
||||
nIndex, (uint32_t)desc, desc->des0, desc->des1, desc->des2, desc->des3);
|
||||
nIndex, (uint64_t)desc, desc->des0, desc->des1, desc->des2, desc->des3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -274,9 +235,9 @@ static void PHY_Read(struct GMAC_HANDLE *pGMAC, uint32_t phyReg)
|
|||
}
|
||||
}
|
||||
|
||||
static void PHY_Write(uint32_t phyReg, uint32_t data)
|
||||
static void PHY_Write(struct GMAC_HANDLE *pGMAC, uint32_t phyReg, uint32_t data)
|
||||
{
|
||||
struct GMAC_HANDLE *pGMAC;
|
||||
// struct GMAC_HANDLE *pGMAC;
|
||||
int status;
|
||||
|
||||
status = HAL_GMAC_MDIOWrite(pGMAC, pGMAC->phyConfig.phyAddress, phyReg, data);
|
||||
|
@ -477,14 +438,14 @@ static void *malloc_align(size_t size, size_t align)
|
|||
ptr = malloc(align_size);
|
||||
if (ptr != NULL) {
|
||||
/* the allocated memory block is aligned */
|
||||
if (((uint32_t)ptr & (align - 1)) == 0) {
|
||||
align_ptr = (void *)((uint32_t)ptr + align);
|
||||
if (((uint64_t)ptr & (align - 1)) == 0) {
|
||||
align_ptr = (void *)((uint64_t)ptr + align);
|
||||
} else {
|
||||
align_ptr = (void *)(((uint32_t)ptr + (align - 1)) & ~(align - 1));
|
||||
align_ptr = (void *)(((uint64_t)ptr + (align - 1)) & ~(align - 1));
|
||||
}
|
||||
|
||||
/* set the pointer before alignment pointer to the real pointer */
|
||||
*((uint32_t *)((uint32_t)align_ptr - sizeof(void *))) = (uint32_t)ptr;
|
||||
*((uint64_t *)((uint64_t)align_ptr - sizeof(void *))) = (uint64_t)ptr;
|
||||
|
||||
ptr = align_ptr;
|
||||
}
|
||||
|
@ -496,7 +457,7 @@ static void free_align(void *ptr)
|
|||
{
|
||||
void *real_ptr;
|
||||
|
||||
real_ptr = (void *)*(uint32_t *)((uint32_t)ptr - sizeof(void *));
|
||||
real_ptr = (void *)*(uint64_t *)((uint64_t)ptr - sizeof(void *));
|
||||
free(real_ptr);
|
||||
}
|
||||
|
||||
|
@ -534,7 +495,7 @@ static HAL_Status GMAC_Send_Test(struct GMAC_ETH_CONFIG *eth, struct GMAC_HANDLE
|
|||
/* dump packages */
|
||||
Dump_Hex("Tx", ptr, len);
|
||||
|
||||
HAL_DCACHE_CleanByRange((uint32_t)ptr, len);
|
||||
HAL_DCACHE_CleanByRange((uint64_t)ptr, len);
|
||||
status = HAL_GMAC_Send(pGMAC, ptr, len);
|
||||
if (status) {
|
||||
printf("GMAC send failed: %d\n", status);
|
||||
|
@ -559,7 +520,7 @@ static uint16_t GMAC_Recv_Test(struct GMAC_HANDLE *pGMAC)
|
|||
if (size > 0 && ptr) {
|
||||
/* dump packages */
|
||||
Dump_Hex("Rx", ptr, size);
|
||||
HAL_DCACHE_InvalidateByRange((uint32_t)ptr, size);
|
||||
HAL_DCACHE_InvalidateByRange((uint64_t)ptr, size);
|
||||
HAL_GMAC_CleanRX(pGMAC);
|
||||
} else {
|
||||
printf("GMAC recv failed: %ld\n", size);
|
||||
|
@ -590,10 +551,10 @@ static HAL_Status GMAC_Memory_Init(struct GMAC_ETH_CONFIG *eth, struct GMAC_HAND
|
|||
memset(eth->txDescs, 0, GMAC_DESC_TX_SIZE);
|
||||
|
||||
memset(eth->rxBuff, 0, GMAC_RX_BUFFER_SIZE);
|
||||
HAL_DCACHE_InvalidateByRange((uint32_t)eth->rxBuff, GMAC_RX_BUFFER_SIZE);
|
||||
HAL_DCACHE_InvalidateByRange((uint64_t)eth->rxBuff, GMAC_RX_BUFFER_SIZE);
|
||||
|
||||
memset(eth->txBuff, 0, GMAC_TX_BUFFER_SIZE);
|
||||
HAL_DCACHE_CleanByRange((uint32_t)eth->txBuff, GMAC_TX_BUFFER_SIZE);
|
||||
HAL_DCACHE_CleanByRange((uint64_t)eth->txBuff, GMAC_TX_BUFFER_SIZE);
|
||||
|
||||
HAL_GMAC_DMARxDescInit(pGMAC, eth->rxDescs, eth->rxBuff, GMAC_DESCRIPTORS_RX);
|
||||
HAL_GMAC_DMATxDescInit(pGMAC, eth->txDescs, eth->txBuff, GMAC_DESCRIPTORS_TX);
|
||||
|
@ -719,7 +680,7 @@ static void GMAC_Iomux_Config(uint8_t id)
|
|||
GMAC0_Iomux_Config();
|
||||
// }
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -727,7 +688,7 @@ static void GMAC_Iomux_Config(uint8_t id)
|
|||
|
||||
/*************************** GMAC TEST MAIN ****************************/
|
||||
|
||||
void main() {
|
||||
int main() {
|
||||
struct GMAC_ETH_CONFIG *eth;
|
||||
struct GMAC_HANDLE *pGMAC;
|
||||
int32_t bus, num = 0, i;
|
||||
|
@ -743,7 +704,7 @@ void main() {
|
|||
if (eth) {
|
||||
pGMAC = ð->instance;
|
||||
} else {
|
||||
return;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* ionmux */
|
||||
|
@ -790,5 +751,6 @@ void main() {
|
|||
free_align(eth->txBuff);
|
||||
free_align(eth->rxBuff);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -52,20 +52,12 @@ __STATIC_FORCEINLINE void __set_ACTLR(uint32_t actlr)
|
|||
/** \brief Get CPACR
|
||||
\return Coprocessor Access Control register value
|
||||
*/
|
||||
__STATIC_FORCEINLINE uint32_t __get_CPACR(void)
|
||||
{
|
||||
uint32_t result;
|
||||
__get_CP(15, 0, result, 1, 0, 2);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/** \brief Set CPACR
|
||||
\param [in] cpacr Coprocessor Access Control value to set
|
||||
*/
|
||||
__STATIC_FORCEINLINE void __set_CPACR(uint32_t cpacr)
|
||||
{
|
||||
__set_CP(15, 0, cpacr, 1, 0, 2);
|
||||
}
|
||||
|
||||
|
||||
/** \brief Get DFSR
|
||||
\return Data Fault Status Register value
|
||||
|
|
|
@ -9,10 +9,17 @@ user_ldflags = --start-group,-lgcc,-lc,--end-group
|
|||
cflags = -std=c11 -march=armv7-a -mtune=cortex-a9 -nostdlib -nodefaultlibs -mfloat-abi=soft -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -ggdb -Wno-unused -Werror -fno-omit-frame-pointer -fno-stack-protector -fno-pie
|
||||
#cflags = -Wall -g -std=c11
|
||||
endif
|
||||
|
||||
ifeq ($(BOARD), ok1028a-c)
|
||||
toolchain ?= aarch64-none-elf-
|
||||
user_ldflags = -N -Ttext 0
|
||||
cflags = -Wall -g -std=c11 -mtune=cortex-a72 -nostdlib -nodefaultlibs -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -ggdb -Wno-unused -Werror -fno-omit-frame-pointer -fno-stack-protector -fno-pie
|
||||
board_specs = stub.o
|
||||
endif
|
||||
|
||||
cc = ${toolchain}gcc
|
||||
ld = ${toolchain}g++
|
||||
objdump = ${toolchain}objdump
|
||||
|
||||
c_useropts = -O2
|
||||
|
||||
INC_DIR = -I$(KERNEL_ROOT)/services/net/libnet \
|
||||
|
|
|
@ -10,6 +10,14 @@ cflags = -std=c11 -march=armv7-a -mtune=cortex-a9 -nostdlib -nodefaultlibs -mflo
|
|||
board_specs = stub.o
|
||||
#cflags = -Wall -g -std=c11
|
||||
endif
|
||||
|
||||
ifeq ($(BOARD), ok1028a-c)
|
||||
toolchain ?= aarch64-none-elf-
|
||||
user_ldflags = -N -Ttext 0
|
||||
cflags = -Wall -g -std=c11 -mtune=cortex-a72 -nostdlib -nodefaultlibs -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -ggdb -Wno-unused -Werror -fno-omit-frame-pointer -fno-stack-protector -fno-pie
|
||||
board_specs = $(KERNEL_ROOT)/services/app/stub.o
|
||||
endif
|
||||
|
||||
cc = ${toolchain}gcc
|
||||
ld = ${toolchain}g++
|
||||
objdump = ${toolchain}objdump
|
||||
|
|
Loading…
Reference in New Issue