www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]int.S: ;************************************************************************ ;*

int.S:
;************************************************************************ ;*
;* FUNCTION
;*
;* INT_Initialize
;*
;* DESCRIPTION
;*
;* This function sets up the global system stack variable and
;* transfers control to the target independent initialization
;* function INC_Initialize. Responsibilities of this function
;* include the following:
;*
;* - Setup necessary processor/system control registers
;* - Initialize the vector table
;* - Setup the system stack pointers
;* - Setup the timer interrupt
;* - Calculate the timer HISR stack and priority
;* - Calculate the first available memory address
;* - Transfer control to INC_Initialize to initialize all of
;* the system components.
;*
;* Major Revision:
;*
;* M. Kyle Craig, Accelerated Technology, Inc.
;*
;*
;*
;*
;* CALLED BY
;*
;* Nothing. This function is the ENTRY point for Nucleus PLUS.
;*
;* CALLS
;*
;* INC_Initialize ? ? ? ? ? ? ? ? ? ? ?Common initialization
;*
;* INPUTS
;*
;* None
;*
;* OUTPUTS
;*
;* None
;*
;* HISTORY
;*
;* NAME DATE ? ? ? ? ? ? ? ? ? ?REMARKS
;*
;* W. Lamie ? ? ? ?08-27-1994 ? ? ?Created initial version 1.0
;* D. Lamie ? ? ? ?08-27-1994 ? ? ?Verified version 1.0
;*
;************************************************************************
;VOID ? ?INT_Initialize(void)
;{

????.def ? ?_c_int00
_c_int00

????.def ?_INT_Initialize
_INT_Initialize:

????; Insure that the processor is in supervisor mode. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//設(shè)置了arm的svc模式
????MRS ? ? r0,CPSR ; Pickup current CPSR
????BIC ? ? r0,r0,#MODE_MASK ; Clear the mode bits
????ORR ? ? r0,r0,#SUP_MODE ; Set the supervisor mode bits
????ORR ? ? r0,r0,#LOCKOUT ; Insure IRQ/FIQ interrupts are ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //關(guān)閉中斷
????????????????????????????????????????; locked out
????MSR ? ? CPSR,r0 ; Setup the new CPSR

????; Clear the un-initialized global and static C data areas.
????LDR ? ? r0,BSS_Start ; Pickup the start of the BSS area
????MOV r2,#0 ; Clear value in r2
????LDR ? ? r1,BSS_End ; Pickup the end of the BSS area

INT_BSS_Clear_Loop
????STR r2,[r0],#4 ; Clear a word ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//初始化Bss段

INT_BSS_Clear_Check
????CMP r0,r1 ; Are the start and end equal?
????BNE ? ? INT_BSS_Clear_Loop ; If so, continue with BSS clear

????; Perform auto-initialization. if cinit is -1, then there is none.
????LDR ? ? r0, c_cinit
????CMN ? ? r0, #1
????BLNE ? ?_auto_init


????; Turn-on the I-Cache for the TI 925T Processor ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//開啟I-Cache

????MRC ? ? p15,#0,r1,C1,C0,#0 ; Read the control register.
????ORR ? ? r1,r1,#0x1000 ; Set the I bit to enable Instruction Cache
????NOP
????MCR ? ? p15,#0,r1,C1,C0,#0 ; Write the control register.


; Setup the vectors loaded flag to indicate to other routines in the
; system whether or not all of the default vectors have been loaded.
; If INT_Loaded_Flag is 1, all of the default vectors have been loaded.
; Otherwise, if INT_Loaded_Flag is 0, registering an LISR cause the
; default vector to be loaded. In the ARM60 this variable is always
; set to 1. All vectors must be setup by this function.
; INT_Loaded_Flag = 0;

????MOV r0,#1 ; All vectors are assumed loaded
????LDR ? ? r1,Loaded_Flag ; Build address of loaded flag
????STR r0,[r1,#0] ; Initialize loaded flag


; Initialize the system stack pointers. This is done after the BSS is
; clear because the TCD_System_Stack pointer is a BSS ? It is
; assumed that available memory starts immediately after the end of the
; BSS section. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //建立sys stack

????LDR ? ? r10,System_Stk_Limit ; Pickup the system stack limit (bottom of system stack)
????LDR ? ? r3,System_Limit ; Pickup sys stack limit addr
????STR r10,[r3, #0] ; Save stack limit

????LDR ? ? sp,System_Stack_SP ; Set-up the system stack pointer
????LDR ? ? r3,System_Stack ; Pickup system stack address
????STR sp,[r3, #0] ; Save stack pointer

????MRS ? ? r0,CPSR ; Pickup current CPSR
????BIC ? ? r0,r0,#MODE_MASK ; Clear the mode bits
????ORR ? ? r0,r0,#IRQ_MODE ; Set the IRQ mode bits
????MSR ? ? CPSR,r0 ; Move to IRQ mode

????LDR ? ? sp,IRQ_Stack_SP ; Setup IRQ stack pointer

????MRS ? ? r0,CPSR ; Pickup current CPSR
????BIC ? ? r0,r0,#MODE_MASK ; Clear the mode bits
????ORR ? ? r0,r0,#FIQ_MODE ; Set the FIQ mode bits
????MSR ? ? CPSR,r0 ; Move to the FIQ mode

????LDR ? ? sp,FIQ_Stack_SP ; Setup FIQ stack pointer

????MRS ? ? r0,CPSR ; Pickup current CPSR
????BIC ? ? r0,r0,#MODE_MASK ; Clear mode bits
????ORR ? ? r0,r0,#SUP_MODE ; Set the supervisor mode bits
????MSR ? ? CPSR,r0 ; All interrupt stacks are setup,
????????????????????????????????????????????; return to supervisor mode

; Define the global data structures that need to be initialized by this ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//設(shè)置中斷
; routine. These structures are used to define the system timer
; management HISR.
; TMD_HISR_Stack_Ptr = (VOID *) r2;
; TMD_HISR_Stack_Size = TIMER_SIZE;
; TMD_HISR_Priority = TIMER_PRIORITY;

????LDR ? ? r2,HISR_Stack_Mem ; Get HISR stack memory address
????LDR ? ? r3,HISR_Stack_Ptr ; Pickup variable's address
????STR ? ? r2,[r3, #0] ? ? ? ? ? ? ? ? ? ? ; Setup timer HISR stack pointer
????MOV ? ? r1,#HISR_STACK_SIZE ? ? ? ? ? ? ; Pickup the timer HISR stack size
????LDR ? ? r3,HISR_Stack_Size ? ? ? ? ? ? ?; Pickup variable's address
????STR r1,[r3, #0] ; Setup timer HISR stack size
????MOV r1,#HISR_PRIORITY ; Pickup timer HISR priority (0-2)
????LDR ? ? r3,HISR_Priority ; Pickup variable's address
????STR ? ? r1,[r3, #0] ? ? ? ? ? ? ? ? ? ? ; Setup timer HISR priority

; Make a call to begin all board specific initialization. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//初始化時鐘
; Begin with Initializing the Vector table and replacing
; default interrupts with Plus IRQs. ?Then setup the timer
; and begin the system clock.

????.if $$isdefed("NU_ROM_SUPPORT")

????BL ? ? ?_INT_Timer_Initialize ? ? ? ? ? ; Initialize the timer

????.else

????BL ? ? ?INT_Install_Vector_Table ? ? ? ?; Install the vector table
????BL ? ? ?_INT_Timer_Initialize ? ? ? ? ? ; Initialize the timer

????.endif

; Call INC_Initialize with a pointer to the first available memory
; address after the compiler's global data. This memory may be used
; by the application.
; INC_Initialize(first_available_memory);

????LDR ? ? r0,First_Avail_Mem ; Get address of first available memory
??????
????B ? ? ? _INC_Initialize ; to high-level initialization ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //最后跳轉(zhuǎn)到_INC_Initialize,找不到函數(shù)在哪
;}

? ?。。。。。。 ? ?。。。。。。 初始化組件由三個部分組成,硬件在reset后首先進(jìn)入INT_initialize(),進(jìn)行板級的相關(guān)初始化,首先設(shè)置SVC mode,關(guān)中斷,然后將內(nèi)核從rom中拷貝至ram中,建立bss段,依次建立sys stack, irq stack和fiq stack,最后初始化timer,建立timer HISR的棧空間,看了一下2410平臺的代碼,一個tick大概是15.8ms,完成板級的初始化后就進(jìn)入了INC_initialize。
inc.c:

/*************************************************************************/
/* */
/* Copyright Mentor Graphics Corporation 2002 */
/* All Rights Reserved. */
/* */
/* THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS */
/* THE PROPERTY OF MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS */
/* SUBJECT TO LICENSE TERMS. */
/* */
/*************************************************************************/

/*************************************************************************/
/* */
/* FILE NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? VERSION */
/* */
/* inc.c ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Nucleus PLUS 1.14 */
/* */
/* COMPONENT */
/* */
/* IN - Initialization */
/* */
/* DESCRIPTION */
/* */
/* This file contains initialization and setup routines associated */
/* with the initialization component. */
/* */
/* DATA STRUCTURES */
/* */
/* None */
/* */
/* FUNCTIONS */
/* */
/* INC_Initialize ? ? ? ? ? ? ? ? ? ? ?Common system initialization */
/* */
/* DEPENDENCIES */
/* */
/* in_extr.h ? ? ? ? ? ? ? ? ? ? ? ? ? Initialization functions */
/* er_extr.h Error handling function */
/* hi_extr.h History functions */
/* tc_extr.h ? ? ? ? ? ? ? ? ? ? ? ? ? Thread Control functions */
/* mb_extr.h ? ? ? ? ? ? ? ? ? ? ? ? ? Mailbox functions */
/* qu_extr.h ? ? ? ? ? ? ? ? ? ? ? ? ? Queue functions */
/* pi_extr.h ? ? ? ? ? ? ? ? ? ? ? ? ? Pipe functions */
/* sm_extr.h ? ? ? ? ? ? ? ? ? ? ? ? ? Semaphore functions */
/* ev_extr.h ? ? ? ? ? ? ? ? ? ? ? ? ? Event group functions */
/* pm_extr.h ? ? ? ? ? ? ? ? ? ? ? ? ? Partition memory functions */
/* dm_extr.h ? ? ? ? ? ? ? ? ? ? ? ? ? Dynamic memory functions */
/* tm_extr.h ? ? ? ? ? ? ? ? ? ? ? ? ? Timer functions */
/* io_extr.h ? ? ? ? ? ? ? ? ? ? ? ? ? I/O Driver functions */
/* */
/* HISTORY */
/* */
/* DATE REMARKS */
/* */
/* 03-01-1993 ? ? ?Created initial version 1.0 */
/* 04-19-1993 ? ? ?Verified version 1.0 */
/* 03-01-1994 ? ? ?Replaced void with VOID, */
/* resulting in version 1.1 */
/* */
/* 03-18-1994 ? ? ?Verified version 1.1 */
/* 04-17-1996 ? ? ?updated to version 1.2 */
/* 03-20-1998 ? ? ?Moved the INC_Initialize_State */
/* define values into their own */
/* in_defs.h include file as part */
/* of SPR455. This creates */
/* version 1.2a. */
/* 03-24-1998 ? ? ?Released version 1.3. */
/* 03-26-1999 ? ? ?Released 1.11m (new release */
/* numbering scheme) */
/* 04-17-2002 ? ? ?Released version 1.13m */
/* 11-07-2002 ? ? ?Released version 1.14 */
/*************************************************************************/
#define ? ? ? ? NU_SOURCE_FILE


#include "in_defs.h" /* Initialization defines */
#include "in_extr.h" /* Initialization functions */
#include "hi_extr.h" /* History functions */
#include "er_extr.h" /* Error handling function */
#include "tc_extr.h" /* Thread Control functions */
#include "mb_extr.h" /* Mailbox functions */
#include "qu_extr.h" /* Queue functions */
#include "pi_extr.h" /* Pipe functions */
#include "sm_extr.h" /* Semaphore functions */
#include "ev_extr.h" /* Event group functions */
#include "pm_extr.h" /* Partition memory functions*/
#include "dm_extr.h" /* Dynamic memory functions */
#include "tm_extr.h" /* Timer functions */
#include "io_extr.h" /* I/O Driver functions */


/* Define global variable that contains the state of initialization. This
???flag is for information use only. */

INT INC_Initialize_State;


/* Define external functions that access the release and license
???information. */

CHAR *RLC_Release_Information(VOID);
CHAR *LIC_License_Information(VOID);

#if defined(NU_MODULE_SUPPORT) && (NU_MODULE_SUPPORT > 0)

/* Prototypes for Module Initialization funcitons */
STATUS MRC_Initialize(VOID);
STATUS MSC_Initialize(VOID);

#endif

/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* INC_Initialize */
/* */
/* DESCRIPTION */
/* */
/* This function is the main initialization function of the system. */
/* All components are initialized by this function. After system */
/* initialization is complete, the Application_Initialize routine */
/* is called. After all initialization is complete, this function */
/* calls TCT_Schedule to start scheduling tasks. */
/* */
/* CALLED BY */
/* */
/* INT_Initialize ? ? ? ? ? ? ? ? ? ? ?Target dependent initialize */
/* */
/* CALLS */
/* */
/* Application_Initialize ? ? ? ? ? ? ?Application initialize */
/* RLC_Release_Information ? ? ? ? ? ? Release information */
/* LIC_License_Information ? ? ? ? ? ? License information */
/* ERI_Initialize Error handling initialize */
/* HII_Initialize History initialization */
/* TCI_Initialize ? ? ? ? ? ? ? ? ? ? ?Thread control initialize */
/* MBI_Initialize ? ? ? ? ? ? ? ? ? ? ?Mailbox initialize */
/* QUI_Initialize ? ? ? ? ? ? ? ? ? ? ?Queue initialize */
/* PII_Initialize ? ? ? ? ? ? ? ? ? ? ?Pipe initialize */
/* SMI_Initialize ? ? ? ? ? ? ? ? ? ? ?Semaphore initialize */
/* EVI_Initialize ? ? ? ? ? ? ? ? ? ? ?Event flag initialize */
/* PMI_Initialize ? ? ? ? ? ? ? ? ? ? ?Partition memory initialize */
/* DMI_Initialize ? ? ? ? ? ? ? ? ? ? ?Dynamic memory initialize */
/* TMI_Initialize ? ? ? ? ? ? ? ? ? ? ?Timer initialize */
/* IOI_Initialize ? ? ? ? ? ? ? ? ? ? ?I/O Driver initialize */
/* MRC_Initialize ? ? ? ? ? ? ? ? ? ? ?Memory Region initialize */
/* MSC_Initialize ? ? ? ? ? ? ? ? ? ? ?Module Support initialize */
/* TCT_Schedule ? ? ? ? ? ? ? ? ? ? ? ?Thread scheduling loop */
/* */
/* INPUTS */
/* */
/* first_available_memory ? ? ? ? ? ? ?Pointer to available memory */
/* */
/* OUTPUTS */
/* */
/* None */
/* */
/* HISTORY */
/* */
/* DATE REMARKS */
/* */
/* 03-01-1993 ? ? ?Created initial version 1.0 */
/* 04-19-1993 ? ? ?Verified version 1.0 */
/* */
/*************************************************************************/
VOID ?INC_Initialize(VOID *first_available_memory)
{

????/* Indicate that initialization is starting. */
????INC_Initialize_State = INC_START_INITIALIZE;

????/* Call release information function. */
????RLC_Release_Information();

????/* Call license information function. */
????LIC_License_Information();

????/* Initialize the Error handling (ER) component. */
????ERI_Initialize();

????/* Initialize the History (HI) component. */
????HII_Initialize();

#if defined(NU_MODULE_SUPPORT) && (NU_MODULE_SUPPORT > 0)

????MRC_Initialize(); /* Initialize Memory Region component */
????MSC_Initialize(); /* Initialize Module Support component */

#endif

????/* Initialize the Thread Control (TC) component. */
????TCI_Initialize();

????/* Initialize the Mailbox (MB) component. */
????MBI_Initialize();

????/* Initialize the Queue (QU) component. */
????QUI_Initialize();

????/* Initialize the Pipe (PI) component. */
????PII_Initialize();

????/* Initialize the Semaphore (SM) component. */
????SMI_Initialize();

????/* Initialize the Event Group (EV) component. */
????EVI_Initialize();

????/* Initialize the Partition memory (PM) component. */
????PMI_Initialize();

????/* Initialize the Dynamic memory (DM) component. */
????DMI_Initialize();

????/* Initialize the Timer (TM) component. */
????TMI_Initialize();

????/* Initialize the I/O Driver (IO) component. */
????IOI_Initialize();

????/* Invoke the application-supplied initialization function. */
????Application_Initialize(first_available_memory); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//應(yīng)用程序初始化
????/* Indicate that initialization is finished. */
????INC_Initialize_State = INC_END_INITIALIZE;

????/* Start scheduling threads of execution. */
????TCT_Schedule();
} 到這里找不到函數(shù)了。。。
csc.c:包含nucleus plus系統(tǒng)中使用的連接表處理工具,采用雙向循環(huán)鏈表(doubley-linked circulat lists)

dmc.c:包含動態(tài)內(nèi)存管理組件的核心事務(wù)
dmce.c:包含動態(tài)內(nèi)存管理組件中的函數(shù)錯誤檢查例程,可以關(guān)閉?
dmd.c:包含動態(tài)內(nèi)存管理組件中的全局?jǐn)?shù)據(jù)結(jié)構(gòu)
dmf.c:包含獲取管理動態(tài)內(nèi)存管理組件的事實的例程
dmi.c:包含動態(tài)內(nèi)存管理組件的初始化例程
dms.c:包含動態(tài)內(nèi)存管理組件的補充例程

erc.c:包含錯誤管理組件的核心事務(wù)
erd.c:包含錯誤管理組件的官居數(shù)據(jù)結(jié)構(gòu)
eri.c:包含錯誤管理組件初始化例程

evc.c:包含事件組管理組件核心事務(wù)
evce.c:包含事件組錯誤檢查
evd.c:事件組全局?jǐn)?shù)據(jù)結(jié)構(gòu)
evf.c
evi.c

hic.c:包含歷史管理組件的核心事務(wù)
hid.c
hii.c

inc.c
int.s

ioc.c:I/O驅(qū)動管理核心事務(wù)
ioce.c
iod.c
iof.c
ioi.c

lic.c:license informations組件核心事務(wù)
lid.c

mbc.c:郵箱管理組件核心事務(wù)
mbce.c
mbd.c
mbf.c
mbi.c
mbs.c
mbse.c

pic.c:管道管理核心事務(wù)
pice.c
pid.c
pif.c
pii.c
pis.c
pise.c

pmc.c:內(nèi)存管理劃分(partition)核心事務(wù)
pmce.c
pmd.c
pmf.c
pmi.c

quc.c:隊列管理核心事務(wù)
quce.c
qud.c
quf.c
qui.c
qus.c
quse.c

rlc.c:版本信息(Release Information)核心事務(wù)
rld.c

sdc.c:包含串行驅(qū)動特定功能

smc.c:信號量管理核心事務(wù)
smce.c
smd.c
smd.c
smf.c
smi.c
sms.c
smse.c

tcc.c:進(jìn)程控制
tcce.c
tcd.c
tcf.c
tci.c
tcs.c
tcse.c
tct.s

tmc.c:此函數(shù)負(fù)責(zé)提供初始化的任務(wù)定時器,此程序必須在svc/usr模式下內(nèi)核切換成svc模式運行。
tmd.c
tmf.c
tmi.c
tms.c
tmse.c
tmt.s

文件命名前2個字母是組件的縮寫,后面的字母是不同的文件。
d包含了相關(guān)全局變量,i是初始化部分,f是組件管理的對象的信息,c是核心函數(shù),ce是錯誤處理,se是補充。

? ? ??

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉