CN109445846A - A kind of NDK adaptation layer transplantation method - Google Patents

A kind of NDK adaptation layer transplantation method Download PDF

Info

Publication number
CN109445846A
CN109445846A CN201811277065.5A CN201811277065A CN109445846A CN 109445846 A CN109445846 A CN 109445846A CN 201811277065 A CN201811277065 A CN 201811277065A CN 109445846 A CN109445846 A CN 109445846A
Authority
CN
China
Prior art keywords
file
ndk
ethdriver
function
deletes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811277065.5A
Other languages
Chinese (zh)
Inventor
王宁
赵娜
周喆
张凯丽
单彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
707th Research Institute of CSIC
Original Assignee
707th Research Institute of CSIC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 707th Research Institute of CSIC filed Critical 707th Research Institute of CSIC
Priority to CN201811277065.5A priority Critical patent/CN109445846A/en
Publication of CN109445846A publication Critical patent/CN109445846A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)

Abstract

The present invention relates to a kind of NDK adaptation layer transplantation method, technical characterstic is: the following steps are included: step 1, acquisition NDK2.0.0 compressed package;Step 2, replacement header file;Step 3, replacement macrodefinition file;Step 4 realizes call back function;Step 5, selection phy interface;Step 6, selection PHY value simultaneously enable EMAC;Step 7, modification HwInt () function definition;Step 8 deletes damping function;Step 9, configuration Mdio operating mode;Step 10 deletes conflict file;Step 11 increases macrodefinition;Step 12, addition protocol stack;Step 13, modification heap size;Step 14 deletes manual task and automatically creates task.The present invention provides the implementation method under the conditions of new opplication for the ethernet communication function of TMS320C6455, extends the life cycle of the processor of TMS320C6455 this excellent cost performance.

Description

A kind of NDK adaptation layer transplantation method
Technical field
The invention belongs to embedded processor technology fields, are related to the NDK adaptation layer transplantation method of DSP, especially a kind of Under CCS5.5 Integrated Development Environment, the adaptation TMS320C6455's based on NDK2.21.2.43 and SYS/BIOS6.35.4.50 NDK adaptation layer transplantation method.
Background technique
NDK (Network Developer ' s Kit) is that the exploitation on embeded processor that is used to that TI is provided is based on net The development platform of network program, it is current to support TMS320C6000DSP series and arm processor.The platform of support has C64P, C66, C674, ARM9, Cortex-A8, and Cortex-M3 equipment.TI company provides adaptation layer (NSP, NDK simultaneously for NDK Support Package), to be adapted to specific hardware platform, serve as the role of network-driven.
Since TMS320C6455 type DSP has excellent performance, cheap, kept so far in industries such as communication, the radars in China Very high frequency of use, annual consumption it is huge.But TI company is to promote its New DSP, gradually eliminates pair The adaptation layer of C64P series processors is only supported to NDK2.0.0 in the technical support of TMS320C6455, while NDK2.0.0 is only It is adapted to CCS3.3 exploitation environment and DSP/BIOS operating system.This causes the ethernet communication function of TMS320C6455 can not be same Recent systems are compatible, limit it and continue as Communication in China, the best optional DSP model of radar industry.And so far without effectively Method solves the problems, such as this, and numerous engineers can only develop TMS320C6455 using old tool, using aging method, efficiency Lowly, a large amount of manpower and material resources are wasted.
TMS320C6455 type DSP in order to have excellent performance, cheap can continue to as industries such as Communication in China, radars Contribute, it is necessary to the adaptation layer of C64P series processors is transplanted, be adapted to highest version NDK, CCS5.5 exploitation environment and SYS/BIOS operating system.The present invention provides a kind of NDK adaptation layer transplantation methods.
Summary of the invention
It is an object of the invention to overcome the deficiencies in the prior art, propose a kind of NDK adaptation layer transplantation method, solve It the problem of CCS5.5 Integrated Development Environment, NDK2+ version, SYS/BIOS and TMS320C6455 compatibility adaptation, realizes The ethernet communication function of TMS320C6455.
The present invention solves its realistic problem and adopts the following technical solutions to achieve:
A kind of NDK adaptation layer transplantation method, comprising the following steps:
Step 1 logs in TI official website acquisition NDK2.0.0 compressed package, and source code and head text are copied out after being decompressed Part is adapted to the NSP of NDK2.0.0 for C6455, subsequent to modify to this file;
Step 2, the header file for deleting preceding 6 adaptations DSP/BIOS in ethdriver.c file, accordingly replace with SYS/ The corresponding header file of BIOS, and add #include<soc.h>header file;
Step 3 deletes critical zone protective switch interruption macrodefinition in ethdriver.c file, accordingly replaces with SYS/ The corresponding macrodefinition file of BIOS;
Step 4, the C6455EMAC_getConfig for realizing HwPktInit () function call in ethdriver.c file () call back function configures interrupt number and MAC Address;
Step 5, the physical interface mode used in ethdriver.c file according to C6455EMAC module select to correspond to One of tetra- kinds of interfaces of MII, RMII, GMII, RGMII;
Step 6 corresponds in HwPktOpen () function according in physical chip modification ethdriver.c file The value of ecfg.UseMdio, 1 represents using PHY, the 0 no PHY of expression, and calls addition code before EMAC_open () function will EMAC is enabled;
HwInt () function is defined as void HwInt (void* in step 7, modification ethdriver.c file pCallbackArg);
BCACHE_ in step 8, deletion ethdriver.c file in Interrupt_init () damping function invL1pAll();
Step 9 configures Mdio operating mode in csl_emac.c file;
Step 10 deletes csl_error.h, cslr_ectl.h and cslr_emac.h and cslr_ in inc file Tetra- conflict files of mdio.h;
Step 11, increase _ INCLUDE_NIMU_CODE macrodefinition;
Step 12 adds protocol stack in cfg file;
Step 13 modifies heap size in cfg file;
Step 14 deletes the manual CreateTask task of version before NDK2.0, and it is automatic wound that cfg file, which increases code configuration, Build task.
Moreover, the step 12 method particularly includes:
Add NDK/Global to my is chosen in cfg file → NDK Core Stack → Global configuration。
Moreover, the step 13 method particularly includes:
Cfg file → BIOS.heapSize=0x20000.
The advantages of the present invention:
The present invention only pass through modification part official driver solve CCS5.5 Integrated Development Environment, The problem of NDK2.21.2.43, SYS/BIOS6.35.4.50 and TMS320C6455 compatibility adaptation, change not being related to hardware Ethernet communication function in the case where dynamic for TMS320C6455 provides the implementation method under the conditions of new opplication, extends The life cycle of the processor of this excellent cost performance of TMS320C6455.
Detailed description of the invention
Fig. 1 is process flow diagram of the invention.
Specific embodiment
The embodiment of the present invention is described in further detail below in conjunction with attached drawing:
Hardware platform of the invention is based on DSP (TMS320C6455) and FPGA (Virtex5SX95T) mixed architecture, integrates It develops environment and uses CCS5.5, XDCTools3.23.4.60 component provides SYS/BIOS operating system and supports, operating system version Using SYS/BIOS6.35.4.50, NDK version uses NDK2.21.2.43.
A kind of NDK adaptation layer transplantation method, as shown in Figure 1, comprising the following steps:
Step 1 logs in TI official website
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ ndk/index.
Html obtains NDK2.0.0 compressed package, copies out after being decompressed
Ndk_2_0_0 packages ti ndk src hal dsk6455 eth_c6455 file, this document clip pack Containing source code and header file, the NSP of NDK2.0.0 is adapted to for C6455, it is subsequent to modify to this file.
Step 2, the header file for deleting preceding 6 adaptations DSP/BIOS in ethdriver.c file, accordingly replace with SYS/ The corresponding header file of BIOS:
#include<ti/sysbios/family/c64p/Cache.h>
#include<ti/sysbios/family/c64p/Hwi.h>
#include<ti/ndk/inc/stkmain.h>
Add #include<soc.h>header file.
Step 3, the critical zone protective switch for deleting the 34th, 35 rows in ethdriver.c file interrupt macrodefinition, accordingly replace It is changed to the corresponding macrodefinition file of SYS/BIOS:
#define Disable_DSP_Interrupts(IntFlag)Hwi_disableIER(IntFlag)
#define Enable_DSP_Interrupts(IntFlag)Hwi_enableIER(IntFlag)
Step 4 realizes HwPktInit () function call in ethdriver.c file
C6455EMAC_getConfig () call back function configures interrupt number and MAC Address.
Step 5, the physical interface mode used in ethdriver.c file according to C6455EMAC module select to correspond to One of tetra- kinds of interfaces of MII, RMII, GMII, RGMII.
Step 6 corresponds in HwPktOpen () function according in physical chip modification ethdriver.c file The value of ecfg.UseMdio, 1 represents and uses PHY, and 0 indicates no PHY, and by pi- > TxFree=0;It replaces with
Addition following code before EMAC_open () function is called to enable EMAC.
CSL_FINST(((CSL_DevRegs*)CSL_DEV_REGS)->PERLOCK,DEV_PERLOCK_LOCKVAL, UNLOCK);
CSL_FINST(((CSL_DevRegs*)CSL_DEV_REGS)->PERCFG0,DEV_PERCFG0_EMACCTL, ENABLE);
HwInt () function is defined as void HwInt (void* in step 7, modification ethdriver.c file pCallbackArg)。
BCACHE_invL1pAll in step 8, deletion ethdriver.c file in Interrupt_init () function ();
Step 9 configures Mdio operating mode in csl_emac.c file;
In the present embodiment, the step 9 method particularly includes:
The 1242nd row adds in csl_emac.c file
Step 10 deletes csl_error.h, cslr_ectl.h and cslr_emac.h and cslr_ in inc file Tetra- files of mdio.h.
Step 11, increase in engineering → properties → Advanced Options → Predefined Symbols _ INCLUDE_NIMU_CODE macrodefinition.
Step 12 adds protocol stack in cfg file;
In the present embodiment, the step 12 method particularly includes:
Add NDK/Global to my is chosen in cfg file → NDK Core Stack → Global configuration。
Step 13 modifies heap size in cfg file;
In the present embodiment, the step 13 method particularly includes:
Cfg file → BIOS.heapSize=0x20000.
Step 14 deletes the manual CreateTask task of version before NDK2.0, and cfg file increases following code and is configured to certainly Dynamic creation task.
Global.stackInitHook=" &stackInitHook ";
Global.networkOpenHook=" &networkOpenHook ";
Global.networkCloseHook=" &networkCloseHook ";
It is emphasized that embodiment of the present invention be it is illustrative, without being restrictive, therefore the present invention includes It is not limited to embodiment described in specific embodiment, it is all to be obtained according to the technique and scheme of the present invention by those skilled in the art Other embodiments, also belong to the scope of protection of the invention.

Claims (3)

1. a kind of NDK adaptation layer transplantation method, it is characterised in that: the following steps are included:
Step 1 logs in TI official website acquisition NDK2.0.0 compressed package, copies out source code and header file after being decompressed, is C6455 is adapted to the NSP of NDK2.0.0, subsequent to modify to this file;
Step 2, the header file for deleting preceding 6 adaptations DSP/BIOS in ethdriver.c file, accordingly replace with SYS/BIOS pairs The header file answered, and add #include<soc.h>header file;
Step 3 deletes critical zone protective switch interruption macrodefinition in ethdriver.c file, accordingly replaces with SYS/BIOS pairs The macrodefinition file answered;
Step 4 realizes that the C6455EMAC_getConfig () of HwPktInit () function call in ethdriver.c file is returned Letter of transfer number configures interrupt number and MAC Address;
Step 5, the physical interface mode used in ethdriver.c file according to C6455EMAC module select corresponding MII, One of tetra- kinds of interfaces of RMII, GMII, RGMII;
Step 6 corresponds in HwPktOpen () function according in physical chip modification ethdriver.c file The value of ecfg.UseMdio, 1 represents using PHY, the 0 no PHY of expression, and calls addition code before EMAC_open () function will EMAC is enabled;
HwInt () function is defined as void HwInt (void* in step 7, modification ethdriver.c file pCallbackArg);
BCACHE_invL1pAll in step 8, deletion ethdriver.c file in Interrupt_init () damping function ();
Step 9 configures Mdio operating mode in csl_emac.c file;
Step 10 deletes csl_error.h, cslr_ectl.h and cslr_emac.h and cslr_mdio.h in inc file Four conflict files;
Step 11, increase _ INCLUDE_NIMU_CODE macrodefinition;
Step 12 adds protocol stack in cfg file;
Step 13 modifies heap size in cfg file;
Step 14 deletes the manual CreateTask task of version before NDK2.0, and it is to automatically create to appoint that cfg file, which increases code configuration, Business.
2. a kind of NDK adaptation layer transplantation method according to claim 1, it is characterised in that: the specific side of the step 12 Method are as follows:
Add NDK/Global to my configuration is chosen in cfg file → NDK Core Stack → Global.
3. a kind of NDK adaptation layer transplantation method according to claim 1, it is characterised in that: the specific side of the step 13 Method are as follows:
Cfg file → BIOS.heapSize=0x20000.
CN201811277065.5A 2018-10-30 2018-10-30 A kind of NDK adaptation layer transplantation method Pending CN109445846A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811277065.5A CN109445846A (en) 2018-10-30 2018-10-30 A kind of NDK adaptation layer transplantation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811277065.5A CN109445846A (en) 2018-10-30 2018-10-30 A kind of NDK adaptation layer transplantation method

Publications (1)

Publication Number Publication Date
CN109445846A true CN109445846A (en) 2019-03-08

Family

ID=65548996

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811277065.5A Pending CN109445846A (en) 2018-10-30 2018-10-30 A kind of NDK adaptation layer transplantation method

Country Status (1)

Country Link
CN (1) CN109445846A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114296700A (en) * 2021-12-08 2022-04-08 成都恩菲特科技有限公司 DSP engineering transplanting method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170123810A1 (en) * 2015-10-30 2017-05-04 Texas Instruments Incorporated Method and System for Boot Time Optimization of Embedded Multiprocessor Systems
CN107450897A (en) * 2016-06-01 2017-12-08 阿里巴巴集团控股有限公司 The cross-platform implantation method and device of graphics engine

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170123810A1 (en) * 2015-10-30 2017-05-04 Texas Instruments Incorporated Method and System for Boot Time Optimization of Embedded Multiprocessor Systems
CN107450897A (en) * 2016-06-01 2017-12-08 阿里巴巴集团控股有限公司 The cross-platform implantation method and device of graphics engine

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LI_BOXUE: "在C6455上移植NDK", 《HTTPS://BLOG.CSDN.NET/LI_BOXUE/ARTICLE/DETAILS/50061587》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114296700A (en) * 2021-12-08 2022-04-08 成都恩菲特科技有限公司 DSP engineering transplanting method

Similar Documents

Publication Publication Date Title
CA3099664C (en) Cloud-edge topologies
US20030008684A1 (en) Digital wireless basestation
US20030004697A1 (en) Method of designing, modelling or fabricating a communications baseband stack
CN105577567A (en) Network data packet parallel processing method based on Intel DPDK
CN102591703B (en) Task scheduling method and task scheduling device for operating system and computer
CN103488536B (en) Method for scheduling task, device and operating system
CN102662740A (en) Asymmetric multi-core system and realization method thereof
CN106126564A (en) A kind of method rendered based on dynamic template language
CN104036031A (en) Large-scale CFD parallel computing method based on distributed Mysql cluster storage
CN109445846A (en) A kind of NDK adaptation layer transplantation method
Li et al. Wide-area spark streaming: Automated routing and batch sizing
WO2016127422A1 (en) System, device and method for processing data
CN102591714B (en) Process calling method, system and application server
CN112748997A (en) Workflow scheduling method and system
CN101005420A (en) Embedded system cross platform realizing method for complex access device
Wei et al. Implementing Data Aware Scheduling In Gfarm (R) Using LSF (TM) Scheduler plugin Mechanism.
CN102819539A (en) Repaid data type-in method and system
CN107832162B (en) Method for remotely calling ModelCenter software to realize multidisciplinary design optimization
CN111104161B (en) Automatic approval execution method for database sql script
CN106294181B (en) Smart card software service life test method
CN109144486A (en) A kind of workflow implementation method statelessly changed
CN103729187B (en) Drive program architecture design method and system based on buffer area
Jing et al. TQS-DP: A lightweight and active mechanism for fast scheduling based on WSN operating system TinyOS
CN112416539B (en) Multi-task parallel scheduling method for heterogeneous many-core processor
CN102571564A (en) Method, apparatus and device for aging static medium access control address

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190308