Part Number: MSP432E401Y
Other Parts Discussed in Thread: SYSCONFIG
Tool/software: TI C/C++ Compiler
I am attempting to extend the lwIP example for the MSP432E401Y from the Resource Explorer to include an SPI peripheral using SysConfig. The build process fails with unresolved symbols.
**** Build of configuration Debug for project ethernet_with_lwip_MSP_EXP432E401Y_nortos_ccs ****
"C:\\ti\\ccs1000\\ccs\\utils\\bin\\gmake" -k -j 16 all -O
Building file: "../msp432functions.c"
Invoking: ARM Compiler
"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/Users/pbaltz/Documents/CCS_workspace_v10/ethernet_with_lwip_MSP_EXP432E401Y_nortos_ccs" --include_path="C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source" --include_path="C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/third_party/lwip/ports/msp432e4/include" --include_path="C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/third_party/lwip/ports/msp432e4/include/utils" --include_path="C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/third_party/lwip/src/include" --include_path="C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/third_party/CMSIS/Include" --include_path="C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/ti/net/bsd" --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/include" --advice:power=none --define=DeviceFamily_MSP432E4 --define=__MSP432E401Y__ -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --preproc_with_compile --preproc_dependency="msp432functions.d_raw" --include_path="C:/Users/pbaltz/Documents/CCS_workspace_v10/ethernet_with_lwip_MSP_EXP432E401Y_nortos_ccs/Debug/syscfg" "../msp432functions.c"
"../msp432functions.c", line 52: warning #225-D: function "PinoutSet" declared implicitly
Finished building: "../msp432functions.c"
Building target: "ethernet_with_lwip_MSP_EXP432E401Y_nortos_ccs.out"
Invoking: ARM Linker
"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --advice:power=none --define=DeviceFamily_MSP432E4 --define=__MSP432E401Y__ -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on -z -m"ethernet_with_lwip_MSP_EXP432E401Y_nortos_ccs.map" --heap_size=3000 --stack_size=2048 -i"C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source" -i"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/lib" --diag_wrap=off --display_error_number --warn_sections --xml_link_info="ethernet_with_lwip_MSP_EXP432E401Y_nortos_ccs_linkInfo.xml" --rom_model -o "ethernet_with_lwip_MSP_EXP432E401Y_nortos_ccs.out" "./enet_fs.obj" "./enet_lwip.obj" "./msp432functions.obj" "./syscfg/ti_drivers_config.obj" "./pinout.obj" "./system_msp432e401y.obj" "./uartstdio.obj" "./ustdlib.obj" "./ccs/startup_msp432e401y_ccs.obj" "./lwip/ports/msp432e4/netif/msp432e4if.obj" "./lwip/ports/msp432e4/perf.obj" "./lwip/ports/msp432e4/sys_arch.obj" "./lwip/ports/msp432e4/utils/locator.obj" "./lwip/ports/msp432e4/utils/lwiplib.obj" "./lwip/ports/msp432e4/utils/swupdate.obj" "./lwip/src/api/api_lib.obj" "./lwip/src/api/api_msg.obj" "./lwip/src/api/err.obj" "./lwip/src/api/netbuf.obj" "./lwip/src/api/netdb.obj" "./lwip/src/api/netifapi.obj" "./lwip/src/api/sockets.obj" "./lwip/src/api/tcpip.obj" "./lwip/src/apps/httpd/httpd.obj" "./lwip/src/apps/lwiperf/lwiperf.obj" "./lwip/src/apps/mdns/mdns.obj" "./lwip/src/apps/mqtt/mqtt.obj" "./lwip/src/apps/netbiosns/netbiosns.obj" "./lwip/src/apps/snmp/snmp_asn1.obj" "./lwip/src/apps/snmp/snmp_core.obj" "./lwip/src/apps/snmp/snmp_mib2.obj" "./lwip/src/apps/snmp/snmp_mib2_icmp.obj" "./lwip/src/apps/snmp/snmp_mib2_interfaces.obj" "./lwip/src/apps/snmp/snmp_mib2_ip.obj" "./lwip/src/apps/snmp/snmp_mib2_snmp.obj" "./lwip/src/apps/snmp/snmp_mib2_system.obj" "./lwip/src/apps/snmp/snmp_mib2_tcp.obj" "./lwip/src/apps/snmp/snmp_mib2_udp.obj" "./lwip/src/apps/snmp/snmp_msg.obj" "./lwip/src/apps/snmp/snmp_netconn.obj" "./lwip/src/apps/snmp/snmp_pbuf_stream.obj" "./lwip/src/apps/snmp/snmp_raw.obj" "./lwip/src/apps/snmp/snmp_scalar.obj" "./lwip/src/apps/snmp/snmp_table.obj" "./lwip/src/apps/snmp/snmp_threadsync.obj" "./lwip/src/apps/snmp/snmp_traps.obj" "./lwip/src/apps/snmp/snmpv3.obj" "./lwip/src/apps/snmp/snmpv3_dummy.obj" "./lwip/src/apps/snmp/snmpv3_mbedtls.obj" "./lwip/src/apps/sntp/sntp.obj" "./lwip/src/apps/tftp/tftp_server.obj" "./lwip/src/core/def.obj" "./lwip/src/core/dns.obj" "./lwip/src/core/inet_chksum.obj" "./lwip/src/core/init.obj" "./lwip/src/core/ip.obj" "./lwip/src/core/mem.obj" "./lwip/src/core/memp.obj" "./lwip/src/core/netif.obj" "./lwip/src/core/pbuf.obj" "./lwip/src/core/raw.obj" "./lwip/src/core/stats.obj" "./lwip/src/core/sys.obj" "./lwip/src/core/tcp.obj" "./lwip/src/core/tcp_in.obj" "./lwip/src/core/tcp_out.obj" "./lwip/src/core/timeouts.obj" "./lwip/src/core/udp.obj" "./lwip/src/core/ipv4/autoip.obj" "./lwip/src/core/ipv4/dhcp.obj" "./lwip/src/core/ipv4/etharp.obj" "./lwip/src/core/ipv4/icmp.obj" "./lwip/src/core/ipv4/igmp.obj" "./lwip/src/core/ipv4/ip4.obj" "./lwip/src/core/ipv4/ip4_addr.obj" "./lwip/src/core/ipv4/ip4_frag.obj" "./lwip/src/core/ipv6/dhcp6.obj" "./lwip/src/core/ipv6/ethip6.obj" "./lwip/src/core/ipv6/icmp6.obj" "./lwip/src/core/ipv6/inet6.obj" "./lwip/src/core/ipv6/ip6.obj" "./lwip/src/core/ipv6/ip6_addr.obj" "./lwip/src/core/ipv6/ip6_frag.obj" "./lwip/src/core/ipv6/mld6.obj" "./lwip/src/core/ipv6/nd6.obj" "./lwip/src/netif/ethernet.obj" "./lwip/src/netif/ethernetif.obj" "./lwip/src/netif/lowpan6.obj" "./lwip/src/netif/slipif.obj" "./lwip/src/netif/ppp/auth.obj" "./lwip/src/netif/ppp/ccp.obj" "./lwip/src/netif/ppp/chap-md5.obj" "./lwip/src/netif/ppp/chap-new.obj" "./lwip/src/netif/ppp/chap_ms.obj" "./lwip/src/netif/ppp/demand.obj" "./lwip/src/netif/ppp/eap.obj" "./lwip/src/netif/ppp/ecp.obj" "./lwip/src/netif/ppp/eui64.obj" "./lwip/src/netif/ppp/fsm.obj" "./lwip/src/netif/ppp/ipcp.obj" "./lwip/src/netif/ppp/ipv6cp.obj" "./lwip/src/netif/ppp/lcp.obj" "./lwip/src/netif/ppp/magic.obj" "./lwip/src/netif/ppp/mppe.obj" "./lwip/src/netif/ppp/multilink.obj" "./lwip/src/netif/ppp/ppp.obj" "./lwip/src/netif/ppp/pppapi.obj" "./lwip/src/netif/ppp/pppcrypt.obj" "./lwip/src/netif/ppp/pppoe.obj" "./lwip/src/netif/ppp/pppol2tp.obj" "./lwip/src/netif/ppp/pppos.obj" "./lwip/src/netif/ppp/upap.obj" "./lwip/src/netif/ppp/utils.obj" "./lwip/src/netif/ppp/vj.obj" "./lwip/src/netif/ppp/polarssl/arc4.obj" "./lwip/src/netif/ppp/polarssl/des.obj" "./lwip/src/netif/ppp/polarssl/md4.obj" "./lwip/src/netif/ppp/polarssl/md5.obj" "./lwip/src/netif/ppp/polarssl/sha1.obj" "../msp432e401y.cmd" -l"C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/third_party/fatfs/lib/ccs/m4f/fatfs.a" -l"ti/display/lib/display.aem4f" -l"ti/grlib/lib/ccs/m4f/grlib.a" -l"third_party/spiffs/lib/ccs/m4f/spiffs.a" -l"ti/drivers/lib/drivers_msp432e4.aem4f" -l"third_party/fatfs/lib/ccs/m4f/fatfs.a" -l"ti/devices/msp432e4/driverlib/lib/ccs/m4f/msp432e4_driverlib.a" -llibc.a
<Linking>
undefined first referenced
symbol in file
--------- ----------------
ClockP_getCpuFreq C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/ti/drivers/lib/drivers_msp432e4.aem4f<SPIMSP432E4DMA.oem4f>
HwiP_Params_init C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/ti/drivers/lib/drivers_msp432e4.aem4f<SPIMSP432E4DMA.oem4f>
HwiP_clearInterrupt C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/ti/drivers/lib/drivers_msp432e4.aem4f<SPIMSP432E4DMA.oem4f>
HwiP_create C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/ti/drivers/lib/drivers_msp432e4.aem4f<SPIMSP432E4DMA.oem4f>
HwiP_delete C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/ti/drivers/lib/drivers_msp432e4.aem4f<SPIMSP432E4DMA.oem4f>
HwiP_disable C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/ti/drivers/lib/drivers_msp432e4.aem4f<PowerMSP432E4.oem4f>
HwiP_disableInterrupt C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/ti/drivers/lib/drivers_msp432e4.aem4f<SPIMSP432E4DMA.oem4f>
HwiP_enableInterrupt C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/ti/drivers/lib/drivers_msp432e4.aem4f<SPIMSP432E4DMA.oem4f>
HwiP_restore C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/ti/drivers/lib/drivers_msp432e4.aem4f<PowerMSP432E4.oem4f>
SemaphoreP_createBinary C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/ti/drivers/lib/drivers_msp432e4.aem4f<SPIMSP432E4DMA.oem4f>
SemaphoreP_delete C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/third_party/fatfs/lib/ccs/m4f/fatfs.a<ffsystem.obj>
SemaphoreP_pend C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/third_party/fatfs/lib/ccs/m4f/fatfs.a<ffsystem.obj>
SemaphoreP_post C:/ti/simplelink_msp432e4_sdk_4_10_00_13/source/third_party/fatfs/lib/ccs/m4f/fatfs.a<ffsystem.obj>
error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "ethernet_with_lwip_MSP_EXP432E401Y_nortos_ccs.out" not built
>> Compilation failure
makefile:304: recipe for target 'ethernet_with_lwip_MSP_EXP432E401Y_nortos_ccs.out' failed
gmake[1]: *** [ethernet_with_lwip_MSP_EXP432E401Y_nortos_ccs.out] Error 1
makefile:300: recipe for target 'all' failed
gmake: *** [all] Error 2
**** Build Finished ****
Here's the pertinent source code:
/*
* msp432functions.c
*
* Created on:
* Author:
*/
#include "common.h"
#include <ti/drivers/spi/SPIMSP432E4DMA.h>
#include <ti/drivers/dpl/ClockP.h>
#include <ti/drivers/dpl/HwiP.h>
#include <ti/drivers/dpl/SemaphoreP.h>
/* Project Global Variables */
/* File Global Variables */
//******************************************************************************
//******************************************************************************
int init_UART(uint32_t g_ui32SysClock){
UARTStdioConfig(0, 115200, g_ui32SysClock);
return (0);
}
//******************************************************************************
//******************************************************************************
int init_SPI(){
SPI_Params spiParams;
/* Call driver init function. */
SPI_init();
/* Open SPI as master */
SPI_Params_init(&spiParams);
spiParams.transferMode = SPI_MODE_BLOCKING;
spiParams.mode = SPI_MASTER;
spiParams.dataSize = 8;
spiParams.frameFormat = SPI_POL0_PHA0;
spiParams.bitRate = 2048000;
adcSpi = SPI_open(CONFIG_SPI_MASTER, &spiParams);
if (adcSpi == NULL) {
return (-1);
}
else {
return (0);
}
}
I've included the header files for ClockP, HwiP and SemaphoreP. Why am I getting the unresolved symbols error?
-phil