亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dvflasher.cs

?? TI DM6446 EVM 串口下載程序 使用環境:windows dos環境或者linux 使用前需安裝mono
?? CS
?? 第 1 頁 / 共 5 頁
字號:
                    workerThread.Abort();                }                else if (workerThread.IsAlive)                {                    Console.WriteLine("Aborting program...");                    workerThread.Abort();                }                                while ((workerThread.ThreadState & ThreadState.Stopped) != ThreadState.Stopped){}            }            catch (Exception e)            {                Console.WriteLine("Abort thread error...");                Console.WriteLine(e.GetType());                Console.WriteLine(e.Message);            }                        if (workerThreadSucceeded)            {                Console.WriteLine("\nOperation completed successfully.");                return 0;            }            else            {                Console.WriteLine("\n\nInterfacing to the DVEVM via UART failed." +                    "\nPlease reset or power-cycle the board and try again...");                return -1;            }                    }        #endregion        //**********************************************************************************                //**********************************************************************************        #region Code for UART interfacing thread        /// <summary>        /// The main fucntion of the thread where all the cool stuff happens        /// to interface with the DVEVM        /// </summary>        public static void WorkerThreadStart()        {            // Try transmitting the first stage boot-loader (UBL) via the RBL            try            {                if (cmdParams.UARTUBLUsed)                    TransmitUARTUBL();            }            catch (Exception e)            {                if (e is ThreadAbortException)                {                    Thread.Sleep(1000);                }                else                {                    Console.WriteLine(e.Message);                }                return;            }            // Sleep in case we need to abort            Thread.Sleep(200);                        // Code to perform specified command            try            {                // Wait for the bootmode to be sent                if (!waitForSequence("PSPBootMode = UART", "PSPBootMode = N", MySP, true))                {                    Console.WriteLine("\nWARNING! The DM644x is NOT in UART boot mode!");                    Console.WriteLine("Only continue if you are sure of what you are doing.");                    Console.Write("\n\tContinue (Y/N) ? ");                    if (!String.Equals(                            Console.ReadKey().Key.ToString(),                            "y",                            StringComparison.CurrentCultureIgnoreCase)                        )                    {                        Console.WriteLine("\n\nCheck your switch and jumper settings, if appropriate.");                        Thread.CurrentThread.Abort();                    }                    else                        Console.WriteLine();                }                                // Clear input buffer so we can start looking for BOOTPSP                MySP.DiscardInBuffer();                // Take appropriate action depending on command                switch (cmdParams.CMDMagicFlag)                {                    case MagicFlags.UBL_MAGIC_NAND_BIN_BURN:                        {                            TransmitFLASHUBLandAPP();                            break;                        }                    case MagicFlags.UBL_MAGIC_NAND_SREC_BURN:                        {                            TransmitFLASHUBLandAPP();                            break;                        }                    case MagicFlags.UBL_MAGIC_NOR_BIN_BURN:                        {                            TransmitFLASHUBLandAPP();                            break;                        }                    case MagicFlags.UBL_MAGIC_NOR_SREC_BURN:                        {                            TransmitFLASHUBLandAPP();                            break;                        }                    case MagicFlags.UBL_MAGIC_NOR_GLOBAL_ERASE:                        {                            TransmitErase();                            break;                        }                    case MagicFlags.UBL_MAGIC_NAND_GLOBAL_ERASE:                        {                            TransmitErase();                            break;                        }                    case MagicFlags.UBL_MAGIC_NOR_RESTORE:                        {                            TransmitAPP();                            break;                        }                    case MagicFlags.UBL_MAGIC_SAFE:                        {                            TransmitAPP();                            break;                        }                    default:                        {                            Console.WriteLine("Command not recognized!");                            break;                        }                }            }            catch (Exception e)            {                if (e is ThreadAbortException)                {                    Thread.Sleep(1000);                }                else                {                    Console.WriteLine(e.Message);                }                return;            }                        // Everything worked, so change boolean status            workerThreadSucceeded = true;        }        /// <summary>        /// Read the appropriate embedded UBL data (NAND or NOR) that        /// will be transmitted to the DM644x.        /// </summary>        /// <returns>A Stream object of the UBL data</returns>        private static Stream GetEmbeddedUBLStream()        {            String srchStr;            Stream UBLstream;            String UBLResourceName = "";            Assembly executingAssembly = Assembly.GetExecutingAssembly();            if (cmdParams.UBLFlashType == FlashType.NAND)                srchStr = "ubl_davinci_nand.bin";            else                srchStr = "ubl_davinci_nor.bin";            executingAssembly = Assembly.GetExecutingAssembly();            foreach (String s in executingAssembly.GetManifestResourceNames())            {                if (s.Contains(srchStr))                {                    UBLResourceName = s;                    break;                }            }            try            {                UBLstream = executingAssembly.GetManifestResourceStream(UBLResourceName);            }            catch (FileNotFoundException e)            {                Console.WriteLine("The embedded UBL file was not found.");                throw e;            }            return UBLstream;        }        /// <summary>        /// Function to find, read, and convert to S-record (if needed) a data file        /// </summary>        /// <param name="filename">The name of the file to load</param>        /// <param name="decAddr">The address to which the data should be loaded in memory        /// on the DM644x device.        /// </param>        /// <returns></returns>        private static Byte[] GetFileData(String filename, UInt32 decAddr, Boolean stripData)        {            FileStream fs;            Byte[] data;            if (!File.Exists(filename))            {                throw new FileNotFoundException("File " + filename + " is not present.");            }            // Open file and setup the binary stream reader            fs = File.Open(cmdParams.APPFileName, FileMode.Open, FileAccess.Read);            // Check to see if the file is an s-record file            if (isFileSrec(fs))            {                data = readSrec(fs);            }            else //Assume the file is a binary file            {                data = bin2srec(fs, decAddr, stripData);            }            return data;        }        /// <summary>        /// Function to Transmit the UBL via the DM644x ROM Serial boot        /// </summary>        private static void TransmitUARTUBL()        {            // Local Variables for reading UBL file            Stream UBLstream;            BinaryReader UBLbr;            StringBuilder UBLsb;            Byte[] UBLFileData;            UInt32 UBLcrc;            UInt32 data;                      CRC32 MyCRC;            // Access the appropriate embedded UBL            UBLstream = GetEmbeddedUBLStream();                                    // Open UBL UART stream and setup the binary stream reader            UBLbr = new BinaryReader(UBLstream);                        // Create the byte array and stringbuilder for holding UBL file data            UBLFileData = new Byte[(UBLstream.Length-256)];            UBLsb = new StringBuilder((UBLFileData.Length-256) * 2);            // Skip the first 0x100 bytes since they contain slef-copy stuff            // This is required to mimic the SDI flashwriter programs (Ugh!)            UBLbr.BaseStream.Seek(256, SeekOrigin.Begin);                        // Read the data from the UBL file into the appropriate structures            for (int i = 0; i < ((UBLstream.Length-256) / sizeof(UInt32)); i++)            {                data = UBLbr.ReadUInt32();                System.BitConverter.GetBytes(data).CopyTo(UBLFileData, i * sizeof(UInt32));                UBLsb.AppendFormat("{0:X8}", data);            }            // Create CRC object and use it to calculate the UBL file's CRC            // Not that this CRC is not quite the standard CRC-32 algorithm            // commonly is use since the final register value is not XOR'd            // with 0xFFFFFFFF.  As a result the CRC value returned here            // will be the bitwise inverse of the standard CRC-32 value.            MyCRC = new CRC32(0x04C11DB7, 0xFFFFFFFF, 0x00000000, true, 1);            UBLcrc = MyCRC.CalculateCRC(UBLFileData);            try            {            BOOTMESEQ:                Console.WriteLine("\nWaiting for DVEVM...");                // Wait for the DVEVM to send the ^BOOTME/0 sequence                if (waitForSequence(" BOOTME\0", " BOOTME\0", MySP))                    Console.WriteLine("BOOTME commmand received. Returning ACK and header...");                else                    goto BOOTMESEQ;                // Output 28 Bytes for the ACK sequence and header                // 8 bytes acknowledge sequence = "    ACK\0"                MySP.Write("    ACK\0");                                // 8 bytes of CRC data = ASCII string of 8 hex characters                MySP.Write(UBLcrc.ToString("X8"));                                // 4 bytes of UBL data size = ASCII string of 4 hex characters (3800h = 14336d)                MySP.Write((UBLstream.Length-256).ToString("X4"));                                // 4 bytes of start address = ASCII string of 4 hex characters (>=0100h)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区在线免费看| 国产成人免费av在线| 精品一区免费av| 91麻豆.com| 国产亚洲欧美一区在线观看| 亚洲国产精品久久久久秋霞影院 | 国产精品区一区二区三区| 视频一区欧美日韩| 色综合夜色一区| 日本一区二区在线不卡| 久久机这里只有精品| 欧美日韩国产经典色站一区二区三区| 中文字幕欧美三区| 精品一区二区免费视频| 制服丝袜成人动漫| 亚洲一区国产视频| 在线免费观看日本欧美| 国产精品免费人成网站| 国产在线一区观看| 日韩欧美国产精品| 青青草国产精品亚洲专区无| 欧美日韩成人综合在线一区二区| 亚洲三级小视频| 99精品热视频| 国产精品免费久久| 成人精品国产福利| 中文字幕 久热精品 视频在线| 国产麻豆精品久久一二三| 精品久久久久99| 韩国v欧美v日本v亚洲v| 精品国产凹凸成av人导航| 精品中文av资源站在线观看| 欧美一区二区免费| 久久疯狂做爰流白浆xx| 精品日韩一区二区三区免费视频| 欧美aaa在线| 欧美大片拔萝卜| 久久国产精品露脸对白| 亚洲尤物视频在线| 欧美日韩视频在线第一区| 亚洲国产日产av| 884aa四虎影成人精品一区| 天天综合色天天综合色h| 欧美一区二区观看视频| 韩国欧美一区二区| 久久久国产一区二区三区四区小说| 国产一区亚洲一区| 中文字幕在线免费不卡| 欧美色网一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 日韩视频免费直播| 国产麻豆精品视频| 日韩一区欧美一区| 91精品国产一区二区| 国内精品国产成人国产三级粉色| 国产精品色呦呦| 欧美午夜在线一二页| 久久99精品国产麻豆婷婷| 中文字幕免费一区| 欧美日韩国产成人在线91| 国模少妇一区二区三区| 亚洲色图视频网站| 日韩欧美一卡二卡| 99re成人精品视频| 日韩国产欧美在线视频| 蜜臀av性久久久久蜜臀aⅴ| 精品日韩99亚洲| 91色视频在线| 久久9热精品视频| 亚洲视频一区二区在线观看| 在线成人免费观看| 成人av第一页| 免费成人av在线| 国产精品久久久久永久免费观看| 欧美欧美欧美欧美| 成人涩涩免费视频| 蜜乳av一区二区三区| 亚洲人一二三区| 2021中文字幕一区亚洲| 欧美做爰猛烈大尺度电影无法无天| 精品一区二区在线播放| 一区二区欧美视频| 中文在线资源观看网站视频免费不卡 | 欧美日韩在线播放三区| 国产激情视频一区二区三区欧美| 亚洲国产精品综合小说图片区| 久久久亚洲精品石原莉奈| 欧美日韩中文精品| 99久久精品免费看国产| 国产精品自拍在线| 日韩va欧美va亚洲va久久| 国产精品伦理在线| 久久久99精品免费观看不卡| 欧美另类高清zo欧美| 色8久久精品久久久久久蜜 | 日本va欧美va欧美va精品| 亚洲免费在线视频| 国产精品久久久久久久裸模| 精品国产乱码久久久久久久久 | 久久超级碰视频| 婷婷综合久久一区二区三区| 国产综合色在线视频区| 亚洲成精国产精品女| 亚洲精品免费一二三区| 国产精品美女久久久久久久久| www激情久久| 久久综合av免费| 精品国产sm最大网站免费看| 日韩一区二区三区四区五区六区| 欧美剧在线免费观看网站 | 亚洲欧美另类久久久精品| 国产午夜亚洲精品理论片色戒| 欧美mv日韩mv亚洲| 精品国内片67194| 精品国产污网站| 精品国产一区二区三区忘忧草 | 91精品国产综合久久久蜜臀图片| 色综合中文字幕| 在线观看亚洲精品| 欧美日韩精品系列| 777午夜精品视频在线播放| 91麻豆精品久久久久蜜臀| 欧美乱熟臀69xxxxxx| 日韩午夜激情电影| 26uuu精品一区二区| 欧美国产激情二区三区| 国产精品久久久久久久裸模| 亚洲精品视频免费观看| 亚洲午夜视频在线| 蜜桃精品视频在线观看| 黑人巨大精品欧美一区| 国产成人在线免费观看| eeuss国产一区二区三区| 一本大道av伊人久久综合| 欧美性一区二区| 日韩欧美二区三区| 国产精品视频第一区| 亚洲卡通动漫在线| 三级欧美在线一区| 国产成人在线视频播放| 色欧美乱欧美15图片| 91精品国产欧美一区二区| 亚洲成人手机在线| 毛片基地黄久久久久久天堂| 国产美女精品人人做人人爽| aa级大片欧美| 7777精品伊人久久久大香线蕉完整版| 欧美精品一区二区三区很污很色的| 国产人成亚洲第一网站在线播放| 一区二区三区在线视频免费观看| 日韩国产精品91| eeuss影院一区二区三区 | 成人午夜在线播放| 欧美视频在线不卡| 久久久99精品免费观看不卡| 一区二区三区中文字幕| 精品一区二区三区日韩| 色综合网色综合| 欧美成人精精品一区二区频| 亚洲欧洲精品天堂一级| 美女性感视频久久| 91行情网站电视在线观看高清版| 欧美v亚洲v综合ⅴ国产v| 亚洲美女视频在线| 国产美女精品在线| 欧美日本一区二区三区| 国产精品久99| 精品写真视频在线观看| 欧美午夜影院一区| 国产精品久久一级| 国产又黄又大久久| 在线播放欧美女士性生活| 1000精品久久久久久久久| 精品一区二区三区在线播放| 欧美亚洲国产bt| 精品一二三四在线| 色呦呦一区二区三区| 国产亚洲欧美一区在线观看| 蜜桃免费网站一区二区三区 | 国产91清纯白嫩初高中在线观看| 欧美日韩国产首页| 亚洲美女免费视频| 成人性生交大片| 亚洲精品在线电影| 久久国产精品免费| 91精品国产综合久久婷婷香蕉 | 日韩电影在线一区二区三区| 91亚洲资源网| 中文字幕欧美激情| 成人爽a毛片一区二区免费| 久久久精品国产免大香伊| 美女视频网站久久| 欧美一卡二卡三卡| 日韩不卡手机在线v区| 欧美丰满少妇xxxxx高潮对白| 亚洲综合久久久久| 91久久线看在观草草青青| 亚洲人妖av一区二区| 成人久久视频在线观看| 国产精品三级久久久久三级|