TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430FR6047: 如何移植TI-RTOS

Part Number:MSP430FR6047Other Parts Discussed in Thread: MSP430FR6989, MSP430FR5994, MSP430FR5969, MSP430F5529

我看官方的手册说rtos不支持mspfr6047,但是目前项目很需要使用操作系统,所以尝试移植了一下。
根据rtos手册8.2章节,在tirtos.mak中添加了MSP430FR6047的支持:MSP430DEVLIST := MSP430F5529,MSP430FR5969,MSP430FR5994,MSP430FR6989,MSP430FR6047,rebuilding后使用CCS导入FR6989的工程,将设备类型改为MSP430FR6047,在编译时有如下报错:error: ti.catalog.msp430.MSP430: "C:/ti/tirtos_msp43x_2_20_00_06/products/bios_6_46_00_23/packages/ti/catalog/msp430/MSP430.xs", line 7756: ti.catalog.msp430.MSP430 : Device MSP430FR6047 is not supported。请问TI的专家我该如何修改

Daniel:

您好

已经收到了您的案例,调查需要些时间,感谢您的耐心等待

,

Alice:

您好,

?? ? 说:Device MSP430FR6047 is not supported

对于不支持的器件,请参考TI-RTOS 2.20 User's Guide "Rebuilding MSPWare's driverlib for TI-RTOS and its Drivers" 内容。

从示例中看,型号间没有逗号,您重新确认一下格式。

,

?? ?:

您好,我一开始是按照手册中说的每个型号用空格隔开,但是编译的时候会报错。tirtos_msp43x_2_20_00_06中自带的tirtos.mak本身也是用逗号隔开的,而且上方有用逗号隔开的注释,我使用这种方式是可以成功rebuild的,但是在编译工程时会报我上面提到的错误。

,

Alice:

您好,      

?? ? 说:我使用这种方式是可以成功rebuild的

那么您看到重新生成的lib文件了吗?

Creating-TI_2D00_RTOS-Projects-for-Other-MSP430-Devices-_2D00_-Texas-Instruments-Wiki.pdf

,

?? ?:

我并没有生成fr6047的lib文件

,

?? ?:

补充一下我的编译日志和tirtos.mak编译.txt
.code-editor .code-editor-heading{border-top:1px solid #e9e9ea;border-left:1px solid #e9e9ea;border-right:1px solid #e9e9ea;background-color:#fbfbfb;border-radius:3px 3px 0 0;font-size:12.6px;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.code-editor .code-editor-heading .icon{width:32px;height:32px;display:block;overflow:hidden;text-indent:-3000em;background-repeat:no-repeat;background-size:80%;background-position:center}.code-editor .code-editor-heading .fs{background-image:url(‘https://e2echina.ti.com/cfs-filesystemfile/__key/defaultwidgets/547b4cbb4efb4c3d83533f8f35fb4b7b-1a84591e31034fac832d29ed8584666c/fullscreen.svg?_=638842936957578030’)}.code-editor .code-editor-heading .dl{background-image:url(‘https://e2echina.ti.com/cfs-filesystemfile/__key/defaultwidgets/547b4cbb4efb4c3d83533f8f35fb4b7b-1a84591e31034fac832d29ed8584666c/download.svg?_=638842936957567810’)}.code-editor .code-editor-heading .filename{padding:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.code-editor .code-editor-heading a{color:#383b41}.code-editor .code-editor-heading a:hover{color:#007c8c}全屏tirtos.txt下载

#
#======== tirtos.mak ========
##
# Set location of various cgtools
#
# These variables can be set here or on the command line.Paths must not
# have spaces.If using a Windows PC, the following can be used to determine
# a directory's DOS path (path without spaces):
#
#1.Open a command prompt.
#2.Navigate (cd) into the directory.
#2.Enter the following command:
#> for %I in (".") do echo %~sI
#
#The steps above should provide you with a path similar to the following:
#Original Path:c:\Program Files (x86)\IAR Systems\Embedded Workbench 7.2
#DOS Path:c:\PROGRA~2\IARSYS~1\EMBEDD~1.2
#
#The final step is to replace all backslashes '\' in the path with forward
#slashes '/'.
#Correct Path:c:/PROGRA~2/IARSYS~1/EMBEDD~1.2
#
DEFAULT_INSTALL_DIR?= c:/ti
CCS_COMPILERS_DIR?= $(DEFAULT_INSTALL_DIR)/ccs930/ccs/tools/compiler#
# Enable TI-RTOS to build for CCS.
# Set CCS_BUILD to true and modify path to toolchain
#
CCS_BUILD?= true
TI_INSTALL_DIR?= $(CCS_COMPILERS_DIR)
ti.targets.msp430.elf.MSP430X ?= $(TI_INSTALL_DIR)/ti-cgt-msp430_16.9.11.LTS
ti.targets.arm.elf.M4F?= $(TI_INSTALL_DIR)/ti-cgt-arm_15.12.1.LTS#
# Enable TI-RTOS to build for IAR.
# Set IAR_BUILD to true and modify path to toolchain.
#
# The IAR_MSP430/ARM_INSTALL_DIR must be set to point to the
# "Embedded Workbench x.y" directory in IAR Workbench.This path MUST NOT
# contain spaces.If using a Windows PC, see the comments above for steps to
# get the DOS path for a directory.
#
IAR_BUILD?= false
IAR_MSP430_INSTALL_DIR?= c:/iar
iar.targets.msp430.MSP430X_small ?= $(IAR_MSP430_INSTALL_DIR)/430
IAR_MSP430HEADERS?= $(IAR_MSP430_INSTALL_DIR)/430/incIAR_ARM_INSTALL_DIR?= c:/iar
iar.targets.arm.M4F?= $(IAR_ARM_INSTALL_DIR)/arm
IAR_MSP432HEADERS?= $(IAR_ARM_INSTALL_DIR)/arm/inc/TexasInstruments#
# Enable TI-RTOS to build for GCC.
# Set GCC_BUILD to true and modify path to toolchain
#
GCC_BUILD?= false
GCC_INSTALL_DIR?= $(CCS_COMPILERS_DIR)
gnu.targets.arm.M4F?= $(GCC_INSTALL_DIR)/gcc-arm-none-eabi-4_9-2015q3#
# Enable TI-RTOS to build for MSP430/MSP432 devices.
# Set MSP430_BUILD or MSP432_BUILD to false to skip building TI-RTOS for the
# respective device family.
#
MSP430_BUILD ?= true
MSP432_BUILD ?= false#
# TI-RTOS and XDCTools settings
#
XDCTOOLS_INSTALL_DIR?= $(DEFAULT_INSTALL_DIR)/xdctools_3_32_00_06_core
export XDCTOOLS_JAVA_HOME?= $(DEFAULT_INSTALL_DIR)/ccs930/ccs/eclipse/jre#TIRTOS_INSTALL_VER?= tirtos_msp43x_2_20_00_06
TIRTOS_INSTALL_DIR?= $(DEFAULT_INSTALL_DIR)/tirtos_msp43x_2_20_00_06
TIDRIVERS_INSTALL_DIR?= $(TIRTOS_INSTALL_DIR)/products/tidrivers_msp43x_2_20_00_08
BIOS_INSTALL_DIR?= $(TIRTOS_INSTALL_DIR)/products/bios_6_46_00_23
UIA_INSTALL_DIR?= $(TIRTOS_INSTALL_DIR)/products/uia_2_00_06_52MSP430DRIVERLIB_INSTALL_DIR ?= $(TIRTOS_INSTALL_DIR)/products/msp430_driverlib_2_70_01_01a
MSP430GRLIB_INSTALL_DIR?= $(TIRTOS_INSTALL_DIR)/products/msp430_grlib_2_00_00_17
MSP430USBLIB_INSTALL_DIR?= $(TIRTOS_INSTALL_DIR)/products/msp430_usblib_5_00_01
MSP432DRIVERLIB_INSTALL_DIR ?= $(TIRTOS_INSTALL_DIR)/products/msp432_driverlib_3_21_00_05MSP430HEADERS?= $(DEFAULT_INSTALL_DIR)/ccs930/ccs/ccs_base/msp430/include
MSP432HEADERS?= $(DEFAULT_INSTALL_DIR)/ccs930/ccs/ccs_base/arm/includeTIRTOS_PACKAGES_DIR?= $(TIRTOS_INSTALL_DIR)/packages
TIDRIVERS_PACKAGES_DIR?= $(TIDRIVERS_INSTALL_DIR)/packages
BIOS_PACKAGES_DIR?= $(BIOS_INSTALL_DIR)/packages
UIA_PACKAGES_DIR?= $(UIA_INSTALL_DIR)/packages#
# To build TI-RTOS driver libraries for other MSP430 devices; simply append the
# device names to MSP430DEVLIST (separated by commas)
# MSP430DEVLIST := MSP430F5529,MSP430F5527,MSP430F6459,etc...
#
MSP430DEVLIST := MSP430F5529,MSP430FR5969,MSP430FR5994,MSP430FR6989,MSP430FR6047#
# To build TI-RTOS driver libraries for other MSP432 devices; simply append the
# device names to MSP432DEVLIST (separated by commas)
# MSP432DEVLIST := MSP432P401R,etc...
#
MSP432DEVLIST := MSP432P401R#
# Set XDCARGS to some of the variables above.XDCARGS are passed
# to the XDC build engine... which will load tirtos.bld... which will
# extract these variables and use them to determine what to build and which
# toolchains to use.
#
# Note that not all of these variables need to be set to something valid.
# Unfortunately, since these vars are unconditionally assigned, your build line
# will be longer and more noisy than necessary (e.g., it will include CC_V5T
# assignment even if you're just building for C64P).
#
# Some background is here:
#http://rtsc.eclipse.org/docs-tip/Command_-_xdc#Environment_Variables
#
XDCARGS = \profile=release \XDCTOOLS=$(XDCTOOLS_INSTALL_DIR) \TIRTOS=$(TIRTOS_INSTALL_DIR) \TIDRIVERS=$(TIDRIVERS_INSTALL_DIR) \BIOS=$(BIOS_INSTALL_DIR) \UIA=$(UIA_INSTALL_DIR) \MSP430DRIVERLIB=$(MSP430DRIVERLIB_INSTALL_DIR) \MSP430GRLIB=$(MSP430GRLIB_INSTALL_DIR) \MSP430USBLIB=$(MSP430USBLIB_INSTALL_DIR) \MSP432DRIVERLIB=$(MSP432DRIVERLIB_INSTALL_DIR) \MSP430DEVLIST="$(MSP430DEVLIST)" \MSP432DEVLIST="$(MSP432DEVLIST)" \MSP430DRIVERLIB_INCLUDE=$(MSP430DRIVERLIB_INSTALL_DIR)/driverlib/MSP430F5xx_6xxifeq ("$(CCS_BUILD)", "true")
ifeq ("$(MSP430_BUILD)", "true")
XDCARGS += \ti.targets.msp430.elf.MSP430X=$(ti.targets.msp430.elf.MSP430X) \MSP430HEADERS=$(MSP430HEADERS)
endif
ifeq ("$(MSP432_BUILD)", "true")
XDCARGS += \ti.targets.arm.elf.M4F=$(ti.targets.arm.elf.M4F) \MSP432HEADERS=$(MSP432HEADERS)
endif
endififeq ("$(IAR_BUILD)", "true")
ifeq ("$(MSP430_BUILD)", "true")
XDCARGS += \iar.targets.msp430.MSP430X_small=$(iar.targets.msp430.MSP430X_small) \IAR_MSP430HEADERS=$(IAR_MSP430HEADERS)
endif
ifeq ("$(MSP432_BUILD)", "true")
XDCARGS += \iar.targets.arm.M4F=$(iar.targets.arm.M4F) \IAR_MSP432HEADERS=$(IAR_MSP432HEADERS)
endif
endififeq ("$(GCC_BUILD)", "true")
XDCARGS += \gnu.targets.arm.M4F=$(gnu.targets.arm.M4F) \MSP432HEADERS=$(MSP432HEADERS)
endifexport XDCARGS#
# Set XDCPATH to contain necessary repositories.
#
XDCPATH = $(TIRTOS_PACKAGES_DIR);$(TIDRIVERS_PACKAGES_DIR);$(BIOS_PACKAGES_DIR);$(UIA_PACKAGES_DIR);
export XDCPATH#
# Set XDCOPTIONS.Use -v for a verbose build.
#
#XDCOPTIONS=v
export XDCOPTIONS#
# Set XDC executable command
# Note that XDCBUILDCFG points to the tirtos.bld file which uses
# the arguments specified by XDCARGS
#
XDC = $(XDCTOOLS_INSTALL_DIR)/xdc XDCARGS="$(XDCARGS)" XDCBUILDCFG=./tirtos.bld
XS = $(XDCTOOLS_INSTALL_DIR)/xs#######################################################
## Shouldn't have to modify anything below this line ##
#######################################################help:@ echo Makefile to build components within TI-RTOS@ echogoaldescription@ echo-----------------------------------------------------------------------------@ echoallBuilds SYS/BIOS, UIA, and TI-RTOS drivers@ echodriversBuilds TI-RTOS drivers and other components in /packages@ echobiosBuilds SYS/BIOS@ echouiaBuilds UIA@ echobuild-ccs-msp430-driverlibBuilds MSP430 driverlib CCS libraries@ echobuild-iar-msp430-driverlibBuilds MSP430 driverlib IAR libraries@ echocleanCleans SYS/BIOS, UIA, and TI-RTOS drivers@ echoclean-driversCleans TI-RTOS drivers and other components in /packages@ echoclean-biosCleans SYS/BIOS@ echoclean-uiaCleans UIA@ echoclean-msp430-driverlibCleans MSP430 driverlib libraries@ echoexamplesgenGenerates TI-RTOS examples and makefiles@ echohelpDisplays this descriptionall: bios uia drivers productclean: clean-uia clean-drivers clean-bios clean-productproduct:@ echo building tirtos packages...@ $(XDC) -Pr ./packagesclean-product:@ echo cleaning tirtos packages ...@ $(XDC) clean -Pr ./packagesdrivers:@ echo building tirtos drivers...@ $(XDCTOOLS_INSTALL_DIR)/gmake -f $(TIDRIVERS_INSTALL_DIR)/drivers.mak \XDC_INSTALL_DIR=$(XDCTOOLS_INSTALL_DIR) \BIOS_INSTALL_DIR=$(BIOS_INSTALL_DIR) \$(XDCARGS) -C $(TIDRIVERS_INSTALL_DIR)clean-drivers:@ echo cleaning tirtos drivers...@ $(XDCTOOLS_INSTALL_DIR)/gmake -f $(TIDRIVERS_INSTALL_DIR)/drivers.mak \XDC_INSTALL_DIR=$(XDCTOOLS_INSTALL_DIR) \BIOS_INSTALL_DIR=$(BIOS_INSTALL_DIR) \$(XDCARGS) -C $(TIDRIVERS_INSTALL_DIR) cleanbuild-ccs-msp430-driverlib:@ $(MAKE) -C $(MSP430DRIVERLIB_INSTALL_DIR) PARTS='$(MSP430DEVLIST)' \IPATH='$(MSP430HEADERS)' COMPILER=ccs \TOOLPATH='$(ti.targets.msp430.elf.MSP430X)'build-iar-msp430-driverlib:@ $(MAKE) -C $(MSP430DRIVERLIB_INSTALL_DIR) PARTS='$(MSP430DEVLIST)' \IPATH='$(IAR_MSP430HEADERS)' COMPILER=iar \TOOLPATH='$(iar.targets.msp430.MSP430X_small)'clean-msp430-driverlib:@ $(MAKE) -C $(MSP430DRIVERLIB_INSTALL_DIR) cleanbios:@ echo building bios ...@ $(XDCTOOLS_INSTALL_DIR)/gmake -f $(BIOS_INSTALL_DIR)/bios.mak \XDC_INSTALL_DIR=$(XDCTOOLS_INSTALL_DIR) \BIOS_SMPENABLED=0 \$(XDCARGS) -C $(BIOS_INSTALL_DIR)clean-bios:@ echo cleaning bios ...@ $(XDCTOOLS_INSTALL_DIR)/gmake -f $(BIOS_INSTALL_DIR)/bios.mak \XDC_INSTALL_DIR=$(XDCTOOLS_INSTALL_DIR) \BIOS_SMPENABLED=0 \-C $(BIOS_INSTALL_DIR) cleanuia:@ echo building uia ...@ $(XDCTOOLS_INSTALL_DIR)/gmake -f $(UIA_INSTALL_DIR)/uia.mak \XDC_INSTALL_DIR=$(XDCTOOLS_INSTALL_DIR) \BIOS_INSTALL_DIR=$(BIOS_INSTALL_DIR) \$(XDCARGS) -C $(UIA_INSTALL_DIR)clean-uia:@ echo cleaning uia ...@ $(XDCTOOLS_INSTALL_DIR)/gmake -f $(UIA_INSTALL_DIR)/uia.mak \XDC_INSTALL_DIR=$(XDCTOOLS_INSTALL_DIR) \BIOS_INSTALL_DIR=$(BIOS_INSTALL_DIR) \-C $(UIA_INSTALL_DIR) cleanvalidate-paths:
ifneq (1, $(words $(ti.targets.msp430.elf.MSP430X)))$(error Toolchain path must not have spaces, please update the TI_INSTALL_DIR variable.)
endififneq (1, $(words $(iar.targets.msp430.MSP430X_small)))$(error Toolchain path must not have spaces, please update the IAR_MSP430_INSTALL_DIR variable.)
endififneq (1, $(words $(iar.targets.arm.M4F)))$(error Toolchain path must not have spaces, please update the IAR_ARM_INSTALL_DIR variable.)
endififneq (1, $(words $(gnu.targets.arm.M4F)))$(error Toolchain path must not have spaces, please update the GCC_INSTALL_DIR variable.)
endifexamplesgen: validate-paths
ifneq ("$(DEST)","")@ echo generating examples in $(DEST) ...
ifeq ("$(CCS_BUILD)", "true")@ $(XS) examples.examplesgen \--productGroup="MSP430" \--toolchain="TI" \--toolchainDir="$(ti.targets.msp430.elf.MSP430X)" \--deviceFamily="MSP430" \--output="$(DEST)/examples/MSP430"@ $(XS) examples.examplesgen \--productGroup="MSP430" \--toolchain="TI" \--toolchainDir="$(ti.targets.arm.elf.M4F)" \--deviceFamily="MSP432" \--output="$(DEST)/examples/MSP432"
endififeq ("$(IAR_BUILD)", "true")@ $(XS) examples.examplesgen \--productGroup="MSP430" \--toolchain="IAR" \--toolchainDir="$(iar.targets.msp430.MSP430X_small)" \--deviceFamily="MSP430" \--output="$(DEST)/examples/MSP430"@ $(XS) examples.examplesgen \--productGroup="MSP430" \--toolchain="IAR" \--toolchainDir="$(iar.targets.arm.M4F)" \--deviceFamily="MSP432" \--output="$(DEST)/examples/MSP432"
endififeq ("$(GCC_BUILD)", "true")@ $(XS) examples.examplesgen \--productGroup="MSP430" \--toolchain="GNU" \--toolchainDir="$(gnu.targets.arm.M4F)" \--deviceFamily="MSP432" \--output="$(DEST)/examples/MSP432"
endif@ echo ***********************************************************@ echo Please refer to "Examples for TI-RTOS" section in the TI-RTOS@ echo "Getting Started Guide" for details on how to build and load the examples@ echo into IAR WorkBench and CCS.
else@ echo Specify destination path like this: DEST="YOURPATH". Use UNIX style path "C:/examples"
endif

jQuery(function(j){var fullScreenToggle = j(‘#fragment-1a84591e31034fac832d29ed8584666c1644402239_code-editor-fs’);var codeEditor = j(‘#fragment-1a84591e31034fac832d29ed8584666c1644402239_code-editor’);fullScreenToggle.on(‘click’, function(){if (codeEditor.evolutionCodeEditor(‘fullscreen’)) {codeEditor.evolutionCodeEditor(‘fullscreen’, false);} else {codeEditor.evolutionCodeEditor(‘fullscreen’, true);}return false;});
});

赞(0)
未经允许不得转载:TI中文支持网 » MSP430FR6047: 如何移植TI-RTOS
分享到: 更多 (0)

© 2025 TI中文支持网   网站地图 鲁ICP备2022002796号-1