{"id":21946,"date":"2022-01-05T09:30:38","date_gmt":"2022-01-05T01:30:38","guid":{"rendered":"https:\/\/www.paiqinano.com\/?p=21946"},"modified":"2022-01-04T11:13:15","modified_gmt":"2022-01-04T03:13:15","slug":"fpga%e5%bc%80%e5%8f%91%e8%bf%87%e7%a8%8b%e4%b8%ad%e5%a6%82%e4%bd%95%e5%ae%9e%e7%8e%b0%e7%bc%96%e7%a8%8b%e5%ba%94%e7%94%a8%e5%8a%9f%e8%83%bd%e5%91%a2","status":"publish","type":"post","link":"https:\/\/www.paiqinano.com\/?p=21946","title":{"rendered":"FPGA\u5f00\u53d1\u8fc7\u7a0b\u4e2d,\u5982\u4f55\u5b9e\u73b0\u7f16\u7a0b\u5e94\u7528\u529f\u80fd\u5462?"},"content":{"rendered":"<p>\u524d\u8a00<\/p>\n<p>\u5728<u>FPGA<\/u>\u4e2d\u5b8c\u6210\u5728\u8fd0\u7528\u7a0b\u5e8f\u7f16\u5199\uff08In Applica<u>ti<\/u>on Pro\u2014g<u>ram<\/u><u>mi<\/u>ng\uff0cIAP\uff09\u6709\u8fd9\u4e24\u79cd\u65b9\u5f0f\uff1a\u4e00\u79cd\u662f\uff0c\u5728<u>\u7ebf\u8def\u677f<\/u>\u4e0a\u6dfb\u5916<u>\u7535\u6e90\u7535\u8def<\/u>\u3002\u6bd4\u5982\u7528<u>MCU<\/u>\u6216<u>CPLD<\/u>\u6765\u63a5\u53d7\u914d\u5907\u6570\u636e\u4fe1\u606f\uff0c\u5728\u5904\u4e8e\u88ab\u52a8\u4e32\u884c\u901a\u4fe1\uff08PS\uff09\u65b9\u5f0f\u4e0b\u7531\u5916\u7535\u8def\u7a0b\u5e8f\u7f16\u5199FPGA\u6216\u8005\u7a0b\u5e8f\u7f16\u5199Flash\u5143\u5668\u4ef6\uff08\u5305\u542bEPCS\u548cFlash\uff09\uff0c\u968f\u540e\u64cd\u7eb5FPGA\u7684\u914d\u5907\u6821\u51c6\u7ba1\u811a\u6765\u6821\u51c6\u5168\u90e8FPGA\uff0c\u6700\u7ec8FPGA\u9009\u7528\u4e3b\u4e32\u65b9\u6cd5\u5f00\u5c55\u4e2a\u4eba\u914d\u5907\u3002\u53e6\u4e00\u79cd\u662f\uff0c\u6839\u636eFPGA\u4e2d\u7684N<u>ios<\/u> <u>CPU<\/u>\u6216\u8005\u4e13\u7528\u578bIP\u6765\u63a5\u53d7\u7a0b\u5e8f\u7f16\u5199\u6570\u636e\u4fe1\u606f\uff0c\u5e76\u7a0b\u5e8f\u7f16\u5199Flash\u96c6\u6210ic\uff0c\u968f\u540e\u6839\u636e\u5916\u754c\u7b80\u5355\u7535\u8def\u5c06FPGA\u6821\u51c6\u8fd0\u884c\uff0c\u4ee5\u79ef\u6781\u4e32\u884c\u901a\u4fe1\uff08AS\uff09\u65b9\u5f0f\u5f00\u5c55\u914d\u5907\u3002<\/p>\n<p>\u4e3a\u4e86\u66f4\u597d\u5730\u51cf\u5c11\u7ebf\u8def\u677f\u603b\u9762\u79ef\uff0c\u8282\u7ea6\u6210\u672c\uff0c\u63d0\u5347\u7a33\u5b9a\u6027\uff0c\u672c\u8bbe\u8ba1\u65b9\u6848\u9009\u7528\u7b2c\u4e8c\u79cd\u65b9\u5f0f\u3002\u672c\u8bbe\u8ba1\u65b9\u6848\u7684\u9700\u8981\u662f\uff1a\u786c\u4ef6\u914d\u7f6e\u7535\u6e90\u7535\u8def\u987b\u914d\u5907\u4e3a\u79ef\u6781\u4e32\u884c\u901a\u4fe1\u65b9\u5f0f\uff0c\u5373\u6311\u9009MSEL\uff3b1\uff1aO\uff3d\u4e3al\uff1aO\uff1b\u5177\u6709EPCS\uff0c\u6216\u4e0e\u6b64\u540c\u65f6\u5177\u6709EPCS\u548cFlash\uff1b\u5177\u5907\u4e0ePC\u673a\u901a\u8baf\u7684\u4f5c\u7528\u3002FPGA\u63a5\u53d7\u5347\u7ea7\u6570\u636e\u4fe1\u606f\uff0c\u5e76\u5c06\u5176\u5b58\u8fdbFlash\u5143\u5668\u4ef6\uff0c\u968f\u540e\u6821\u51c6Nios\u6216FPGA \u5bf9\u786c\u4ef6\u8f6f\u4ef6\u5f00\u5c55\u5347\u7ea7\u3002<\/p>\n<p>1\u3001\u7cfb\u7edf\u8f6f\u4ef6\u7684\u786c\u4ef6\u5f00\u53d1<\/p>\n<p>\u7edf\u5173\u952e\u7531Cyclone FPGA\u3001EPCS\u3001Flash\u548c\u4e32\u53e3\u901a\u4fe1\u7b49\u6784\u6210\uff0c\u786c\u4ef6\u914d\u7f6e\u6784\u9020\u5982\u4e0b\u56fe1\u6240\u663e\u793a\u3002<\/p>\n<p align=\"center\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/12\/20211215132436-61b9ec94102db.gif\" alt=\"\u5728FPGA\u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u5982\u4f55\u5b9e\u73b0\u5728\u5e94\u7528\u7f16\u7a0b\u5e94\u7528\u529f\u80fd\" \/><\/p>\n<p>EPCS\u9009\u7528<u>Altera<\/u>\u4f01\u4e1a\u7684EPCS4\uff0c\u5bb9\u79ef\u505a\u52304 Mb\uff0c\u7ba1\u811a\u8f83\u5c11\uff0c\u4f4e\u6210\u672c\uff0c\u9002\u75283\uff0e3 V\u4f4e\u538b\u5b9e\u9645\u64cd\u4f5c\u3002Flash\u96c6\u6210ic\u9009\u7528<u>AMD<\/u>\u4f01\u4e1a\u7684Am29LV640MH\uff0fL\uff0c\u9002\u75283\uff0eO V\u4f4e\u538b\u5b9e\u9645\u64cd\u4f5c\uff0c\u5177\u5907\u529f\u8017\u4f4e\u7279\u70b9\uff0c\u96c6\u6210ic\u5bb9\u79ef\u4e3a64 Mb\uff0c\u8fbe\u5230\u5927\u7a7a\u95f4\u6570\u636e\u5206\u6790\u7684\u50a8\u5b58\uff1b<u>\u5e76\u53e3<\/u>\u5b9e\u9645\u64cd\u4f5c\uff0c\u4e0eCyclone FPGA\u5f7b\u5e95\u517c\u5bb9\uff0c\u5e76\u4e14\u5728SOPC\u4e2d\u6709\u4e0e\u4e4b\u76f8\u5bf9\u7684CFI_FLASH\u6838\uff0c\u6709\u5229\u4e8e\u786c\u4ef6\u914d\u7f6e\u7535\u6e90\u7535\u8def\u7684\u8bbe\u8ba1\u65b9\u6848\u3002<\/p>\n<p>2\u3001\u539f\u7406<\/p>\n<p>2\uff0e1 \u597d\u591a\u4e2a\u5b9a\u4e49<\/p>\n<p>FPGA\u914d\u5907\u6570\u636e\u4fe1\u606f\uff1a\u662fsof\u6587\u6863\uff0c\u5c06sof\u6587\u6863\u7a0b\u5e8f\u7f16\u5199\u5230Flash\u4e2d\uff0c\u901a\u7535\u540eFPGA\u53ef\u4ee5\u4eceFlash\u4e2d\u914d\u5907\u3002sof\u6587\u6863\u662f\u522b\u7684\u73af\u5883\u53d8\u91cf\u7684\u57fa\u672c\uff0c\u5176\u4ed6\u6587\u4ef6\u5747\u53ef\u7531sof\u6587\u4ef6\u683c\u5f0f\u8f6c\u6362\u83b7\u5f97\u3002<\/p>\n<p>APP\u6570\u636e\u4fe1\u606f\uff1a\u6839\u636eNiosII IDE\u5efa\u7acbelf\u6587\u4ef6\uff0c\u5c06\u5ba2\u6237\u7a0b\u5e8f\u7f16\u5199\u5230Flash\u4e2d\uff0c\u5bb9\u8bb8\u6821\u51c6\u540e\u4eceF1ash\u4e2d\u8f7d\u5165\u8f6f\u4ef6\u7cfb\u7edf\uff0c\u8fdb\u800c\u8fd0\u884cNiosII CPU\u3002<\/p>\n<p>2\uff0e2 \u7a0b\u5e8f\u7f16\u5199\u6587\u6863<\/p>\n<p>\u7a0b\u5e8f\u7f16\u5199\u6587\u6863\u4e3aFlash\u6587\u4ef6\u683c\u5f0f\u7684\u6587\u6863\uff0c\u5373S\u2014reeorld\uff08\u901a\u79f0\u201cSREC\u201d\uff09\u6587\u4ef6\u683c\u5f0f\u3002SREC\u6587\u4ef6\u683c\u5f0f\u662fMotorola\u4f01\u4e1a\u5236\u8ba2\u7684\u4e00\u79cd\u70e7\u5f55\u6587\u4ef6\u683c\u5f0f\u89c4\u8303\u3002SREC \u6587\u4ef6\u683c\u5f0f\u662f\u7531\u4e00\u7ec4ASCII\u7801\u6784\u6210\uff0c\u5168\u90e8\u7684\u5341\u516d\u8fdb\u5236\u6570\u636e\u4fe1\u606f\u5747\u4e3a\u82f1\u6587\u5927\u5199\u65b9\u5f0f\uff0c\u6784\u9020\u8868\u660e\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<p>\u2460\u8d77\u6b62\u7f16\u7801\u3002\u4ee5S\u505a\u4e3a\u4e00\u4e2a\u6570\u636e\u4fe1\u606f\u884c\u7684\u9010\u6e10\u3002<\/p>\n<p>\u2461\u7eaa\u5f55\u79cd\u7c7b\u30021\u4e2a\u5341\u8fdb\u5236\u6570\u636e\uff08O\uff5e9\uff09\uff0c\u5b9a\u4e49\u6570\u7ec4\u57df\u7684\u79cd\u7c7b\u3002<\/p>\n<p>\u2462\u5b57\u8282\u30021\u4e2a\u5b57\u8282\u6570\uff0c\u754c\u5b9a\u5b57\u8282\u4ee5\u540e\u9664\u8be6\u7ec6\u5730\u5740\u5b57\u8282\u6570\u3001\u6821\u68c0\u5b57\u8282\u6570\u4ee5\u5916\u522b\u7684\u5b57\u8282\u6570\u7684\u6570\u91cf\u3002<\/p>\n<p>\u2463\u8be6\u7ec6\u5730\u5740\u3002\u75314\uff08\u62166\u30018\uff09\u4e2a\u5b57\u8282\u6570\u6784\u6210\uff0c\u754c\u5b9a\u4e86\u7b2c\u4e00\u4e2a\u6570\u636e\u4fe1\u606f\u5b57\u8282\u6570\u50a8\u5b58\u7684\u90e8\u4f4d\u3002<\/p>\n<p>\u2464\u6570\u636e\u4fe1\u606f\u5b57\u8282\u6570\u3002\u7531n\u4e2a\u5b57\u8282\u6570\u6784\u6210\uff0c\u6570\u636e\u4fe1\u606f\u5b57\u8282\u6570\u4e3a\u5177\u4f53\u5408\u7406\u7684\u7a0b\u5e8f\u7f16\u5199\u4fe1\u606f\u5185\u5bb9\u3002<\/p>\n<p>\u2465\u6821\u68c0\u5b57\u8282\u6570\u30021\u4e2a\u5b57\u8282\u6570\uff0c\u4f5c\u6821\u68c0\u5e94\u7528\uff0c\u5168\u90e8\u5341\u516d\u8fdb\u5236\u5b57\u8282\u6570\u7d2f\u52a0\u540e\u53d68\u4f4d\uff0c\u4e3a0xFF\u3002<\/p>\n<p>2\uff0e3 AS\u914d\u5907\u65b9\u5f0f<\/p>\n<p>FPGA \u7684\u914d\u5907\u6570\u636e\u50a8\u5b58\u5728\u5167\u90e8SRAM\u6a21\u5757\u4e2d\u3002\u56e0\u4e3aSRAM\u65ad\u7535\u540e\u6570\u636e\u4fe1\u606f\u4f1a\u9057\u5931\uff0c\u56e0\u800c\u6bcf\u4e00\u6b21\u901a\u7535\u65f6\u9700\u8981\u518d\u6b21\u5c06\u914d\u5907\u6570\u636e\u4fe1\u606f\u8f7d\u5165SRAM\u4e2d\u3002\u8fd9\u4e00\u5168\u8fc7\u7a0b\u79f0\u4e4b\u4e3a\u201cFPGA\u7684\u914d\u5907\u201d\u3002\u4e0d\u96be\u770b\u51fa\uff0cFPGA\u7684\u914d\u5907\u4fe1\u606f\u5185\u5bb9\u662f\u50a8\u5b58\u5728FPGA\u5167\u90e8RAM\u4e4b\u4e2d\u7684\u3002\u5f97\u77e5\u5728\u79ef\u6781\u4e32\u884c\u901a\u4fe1\u65b9\u5f0f\u4e0b\uff0cFPGA\u5c06\u914d\u5907\u6570\u636e\u4fe1\u606f\u4eceEPGS\u4e2d\u8f7d\u5165\uff0c\u968f\u540e\u5b58\u8fdb\u5167\u90e8RAM \u4e2d\u3002<\/p>\n<p>AS\u914d\u5907\u65b9\u5f0f\u9002\u7528StraTIxII\u548cCyclone\u7cfb\u5217\u4ea7\u54c1\u7684FPGA\uff0c\u6839\u636e\u914d\u5907MSEL\uff3b1\uff1aO\uff3d\u4e3a1\uff1a0\uff0c\u6311\u9009\u79ef\u6781\u914d\u5907\u65b9\u5f0f\uff08\u9664JTAG\u65b9\u5f0f\u4e0d\u4f1a\u53d7\u5230 MSEL\u64cd\u7eb5\u5916\uff0c\u522b\u7684\u914d\u5907\u65b9\u6cd5\u5747\u7531MSEL\u51b3\u7b56\uff09\u3002AS\u914d\u5907\u65b9\u5f0f\u5e94\u7528\u4e32\u884c\u901a\u4fe1\u914d\u5907\u5143\u5668\u4ef6\uff08EPCS1\uff0fEPCS4\uff0fEPCSl6\uff0fEPCS64\uff09\u3002\u5728AS\u914d\u5907\u6d41\u7a0b\u4e2d\uff0cStraTIxlI\u548cCy\u2014clone\u7cfb\u5217\u4ea7\u54c1\u7684FPGA\u662f\u5173\u952e\u8bbe\u5907\uff0c\u4e32\u884c\u901a\u4fe1\u914d\u5907\u5143\u5668\u4ef6\u4e3a\u4ece\u673a\u5668\u8bbe\u5907\u3002\u5982\u4e0b\u56fe2\u6240\u663e\u793a\uff0c\u5728AS\u914d\u5907\u65b9\u5f0f\u4e0b\uff0cFPGA\u6839\u636eDATA0\u63a5\u53d7\u914d\u5907\u6570\u636e\u4fe1\u606f\uff0c\u914d\u5907\u6570\u636e\u4fe1\u606f\u548cDCLK\u662f\u540c\u65f6\u7684\u3002\u6bcf\u4e00\u4e2a<u>\u949f\u8868<\/u>\u5468\u671f\u65f6\u95f4\u4f20\u90011\u4f4d\u914d\u5907\u6570\u636e\u4fe1\u606f\u3002\u6839\u636e\u64cd\u7eb5nCONFIG\u3001nSTATUS\u3001CONF_DONE\u6765\u8868\u660e\u914d\u5907\u5168\u8fc7\u7a0b\u3002\u4e32\u884c\u901a\u4fe1\u914d\u5907\u96c6\u6210ic\u5728DCLK\u4e0a\u5347\u6cbf\u65f6\u9501\u5b58\u952e\u5165\u6570\u636e\u4fe1\u53f7\u548c\u64cd\u7eb5\u6570\u636e\u4fe1\u53f7\uff0c\u5728\u964d\u4f4e\u6cbf\u65f6\u5bfc\u51fa\u914d\u5907\u6570\u636e\u4fe1\u606f\u3002Cyclone\u96c6\u6210ic\u5728DCLK\u964d\u4f4e\u6cbf\u65f6\u5bfc\u51fa\u64cd\u7eb5\u6570\u636e\u4fe1\u53f7\uff0c\u5e76\u9501\u5b58\u914d\u5907\u6570\u636e\u4fe1\u606f\u3002<\/p>\n<p align=\"center\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/12\/20211215132436-61b9ec9439814.gif\" alt=\"\" \/><\/p>\n<p>3\u3001\u5de5\u4f5c\u5185\u5bb9<\/p>\n<p>3\uff0e1 \u7cfb\u7edf\u914d\u7f6e\u7684\u5347\u7ea7<\/p>\n<p>\u5982\u4e0b\u56fe3\u6240\u663e\u793a\uff0cFPGA\u7684\u914d\u5907\u5168\u8fc7\u7a0b\u5206\u6210\uff1a\u6821\u51c6\u3001\u914d\u5907\u548c\u590d\u4f4d\u3002<\/p>\n<p align=\"center\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/12\/20211215132436-61b9ec94562bb.gif\" alt=\"\" width=\"350\" height=\"291\" border=\"0\" \/><\/p>\n<p>\uff081\uff09\u6821\u51c6FPGA<\/p>\n<p>\u901a\u7535\u6821\u51c6\uff1a\u5728\u5ba2\u6237\u65b9\u5f0f\u4e0b\uff0c\u5f53nCONFIG\u7ba1\u811a\u4e0d\u65ad\u4f4e\u7535\u989140\u03bcs\u65f6\uff0cFPGA\u5c06\u8fdb\u5230\u6821\u51c6\u60c5\u51b5\u3002\u6821\u51c6\u65f6\uff0cFP\u2014GA\u53d6\u6837MSEL\u7ba1\u811a\u7684\u8109\u51b2\u4fe1\u53f7\u503c\uff0c\u4ee5\u660e\u786e\u9009\u7528\u7684\u914d\u5907\u65b9\u6cd5\uff1b\u4e0e\u6b64\u540c\u65f6\uff0cnSTATUS\u548cCONF_DONE\u7ba1\u811a\u7531FPGA\u7f6e\u4e3a\u4f4e\u7535\u9891\uff0c\u5168\u90e8I\uff0f0\u7ba1\u811a\u4e3a\u4e09\u6001\u4e14FPGA\u5167\u90e8\u914d\u5907<u>\u5b58\u50a8\u5668<\/u>\u88ab\u6e05\u9664\u3002<\/p>\n<p>FPGA\u6821\u51c6\u76842\u79cd\u65b9\u5f0f\uff1a<\/p>\n<p>\u2460\u53e6\u52a0RC\u5ef6\u65f6\u7535\u8def\u6216\u662f\u6821\u51c6\u96c6\u6210ic\uff0c\u5168\u81ea\u52a8\u9020\u6210\u901a\u7535\u6821\u51c6\u5355\u8109\u51b2\u3002<\/p>\n<p>\u2461\u53c2\u7167\u96c6\u6210ic\u6307\u5357\u3002\u5047\u5982\u96c6\u6210ic\u7ed9\u4e88\u4e86\u901a\u7535\u6821\u51c6\u5355\u8109\u51b2\uff08\u4e00\u822c\u662f\u5168\u5c40\u6027\u6821\u51c6\u6570\u636e\u4fe1\u53f7\uff09\uff0c\u5219\u5e94\u7528\u5b83\u505a\u4e3a\u6821\u51c6\u6570\u636e\u4fe1\u53f7\uff1b\u82e5\u6c92\u6709\u7ed9\u4e88\uff0c\u5219\u641c\u7d22\u96c6\u6210ic\u662f\u4e0d\u662f\u5f97\u51fa\u4e86\u5bc4\u653e\u6a21\u5757\u901a\u7535\u521d\u59cb\u503c\uff08\u4e00\u822c\u662fO\uff09\uff0c\u8fd0\u7528\u8be5\u7279\u70b9\u6821\u51c6\u6216\u662f\u9020\u6210\u6821\u51c6\u5355\u8109\u51b2\u3002<\/p>\n<p>\uff082\uff09\u914d\u5907FPGA<\/p>\n<p>\u6821\u51c6\u540e\uff0cnCONFIG\u88ab\u5916\u754c\u4e0b\u62c9<u>\u7535\u963b\u5668<\/u>\u62c9\u5347\uff0c\u8fdb\u5230\u914d\u5907\u73af\u8282\u3002\u8fd9\u65f6\uff0cnSTATUS\u88abFPGA\u91ca\u653e\u51fa\u6765\u5e76\u7531\u5916\u754c\u4e0a\u62c9\u7535\u963b\u62c9\u4e3a\u9ad8\u7535\u5e73\u540e\u8fdb\u5230\u914d\u5907\u60c5\u51b5\u3002 Cyclone\u96c6\u6210ic\u6839\u636e\u5c06nCSO\u5bfc\u51fa\u7684\u6570\u636e\u4fe1\u53f7\u7f6e\u4f4e\u6765\u4e5f\u5c31\u80fd\u4e32\u884c\u901a\u4fe1\u914d\u5907\u96c6\u6210ic\uff0cnCS0\u7ba1\u811a\u8054\u63a5\u914d\u5907\u96c6\u6210ic\u7684\u7247\u9009\u6bb5\uff08nCS\uff09\uff0c\u7528\u4e32\u884c\u901a\u4fe1\u949f\u8868\uff08DCLK\uff09\u548c\u4e32\u884c\u901a\u4fe1\u6570\u636e\u6e90\u5bfc\u51fa\uff08ASDO\uff09\u7ba1\u811a\u6765\u63a8\u9001\u5b9e\u9645\u64cd\u4f5c\u547d\u4ee4\uff0c\u53ca\uff0f\u6216\u5c06\u8be6\u7ec6\u5730\u5740\u6570\u636e\u4fe1\u53f7\u8bfb\u5230\u4e32\u884c\u901a\u4fe1\u914d\u5907\u96c6\u6210ic\u4e2d\u3002\u7136\u540e\u914d\u5907\u96c6\u6210ic\u5c06\u6570\u636e\u4fe1\u606f\u9001\u81f3\u4e32\u884c\u901a\u4fe1\u6570\u636e\u6e90\u5bfc\u51fa\uff08DATA\uff09\u7ba1\u811a\uff0cDATA\u7ba1\u811a\u8054\u63a5 Cyclone\u96c6\u6210ic\u7684DATA0\u952e\u5165\u811a\u3002\u914d\u5907\u6570\u636e\u4fe1\u606f\u5728DCLK\u949f\u8868\u7684\u4e0a\u5347\u6cbf\u52a0\u8f7dFPGA\u3002\u5f53\u63a5\u53d7\u5b8c\u5168\u90e8\u7684\u914d\u5907\u4f4d\u540e\uff08CRC\u6821\u9a8c\u51c6\u786e\u65e0\u8bef\uff09\uff0cCyclone\u96c6\u6210ic\u60ac\u5728\u7a7a\u4e2dCONF_DONE\u7ba1\u811a\uff0c\u8be5\u7ba1\u811a\u7531\u5916\u754c10 k\u03a9\u7535\u963b\u5668\u62c9\u5347\uff1b\u4e0e\u6b64\u540c\u65f6\uff0c\u7ec8\u6b62\u63a8\u52a8DCLK\u6570\u636e\u4fe1\u53f7\u3002\u4ec5\u6709\u5f53CONF_DONE\u62b5\u8fbe\u4e00\u5b9a\u7684\u903b\u8f91\u6027\u9ad8\u7535\u5e73\u540e\uff0c\u590d\u4f4d\u624d\u9010\u6e10\u3002<\/p>\n<p>\uff083\uff09\u590d\u4f4d\u73af\u8282<\/p>\n<p>\u5728Cyclone\u96c6\u6210ic\u4e2d\uff0c\u539f\u59cb\u949f\u8868\u6e90\u662fCyclone\u96c6\u6210ic\u7684lOMHz\uff08\u5178\u578b\u6027\u7684\uff09\u5167\u90e8<u>\u6676\u632f\u7535\u8def<\/u>\uff0c\u6216\u662f\u662f\u53ef\u9009\u62e9\u7684CLKUSR\u7ba1\u811a\u3002\u5167\u90e8\u6676\u632f\u7535\u8def\u662f\u9ed8\u8ba4\u8bbe\u7f6e\u7684\u590d\u4f4d\u949f\u8868\u6e90\u3002\u5047\u5982\u7528\u4e86\u5167\u90e8\u949f\u8868\uff0c\u5219Cyclone\u96c6\u6210ic\u4e3a\u5408\u7406\u7684\u590d\u4f4d\u7ed9\u4e88\u5145\u8db3\u7684\u949f\u8868\u3002\u5e94\u7528\u5167\u90e8\u949f\u8868\u7684\u4f5c\u7528\u53d6\u51b3\u4e8e\uff0c\u590d\u4f4d\u65f6\u4e0d\u7528\u4ece\u5916\u754c\u63a8\u9001\u522b\u7684\u7684\u949f\u8868\u5230 CLKUSR\u7ba1\u811a\uff0c\u5e76\u4e14\u53ef\u4ee5\u628aCLKUSR\u7ba1\u811a\u4f5c\u4e3aI\uff0fO\u7ba1\u811a\u3002<\/p>\n<p>\uff084\uff09\u5ba2\u6237\u65b9\u5f0f<\/p>\n<p>\u590d\u4f4d\u5b8c\u6bd5\u540e\uff0cFPGA\u8fdb\u5230\u5ba2\u6237\u65b9\u5f0f\u3002\u5728\u5ba2\u6237\u65b9\u5f0f\u4e0b\uff0c\u5ba2\u6237I\uff0fO\u7ba1\u811a\u4e0d\u4f1a\u518d\u6709\u5f31\u4e0a\u62c9\u7535\u963b\uff0c\u53cd\u800c\u662f\u5b9e\u884c\u8bbe\u8ba1\u65b9\u6848\u4e2d\u5206\u6d3e\u7684\u4f5c\u7528\u3002Cyclone\u96c6\u6210ic\u53ef\u4ee5\u6839\u636e\u5c06 nCONFIG\u964d\u4f4e\u800c\u9010\u6e10\u91cd\u65b0\u90e8\u7f72\u3002nCONFIG\u4f4e\u6570\u636e\u4fe1\u53f7\u5e94\u5f53\u6700\u5c11\u4e0d\u65ad40\u03bcs\u3002\u5f53nCONFIG\u88ab\u62c9\u4f4e\u65f6\uff0cCyclone\u96c6\u6210ic\u88ab\u6821\u51c6\u5e76\u8fdb\u5230\u6821\u51c6\u73af\u8282\u3002 Cyclone\u96c6\u6210ic\u4e5f\u4f1a\u628anSTATUS\u548cCONF_DONE\u964d\u4f4e\uff0c\u5168\u90e8\u7684I\uff0fO\u7ba1\u811a\u5904\u5728\u4e09\u6001\u3002\u4e00\u65e6nCONFIG\u8fd4\u56de\u903b\u8f91\u6027\u9ad8\u7535\u5e73\uff0cCyclone\u96c6\u6210ic\u5c06\u91ca\u653e\u51fa\u6765nSTATUS\uff0c\u4ece\u5934\u5f00\u59cb\u914d\u5907\u3002<\/p>\n<p>\uff085\uff09\u914d\u5907\u65f6\u7ecf\u5e38\u51fa\u73b0\u7684\u4e0d\u6b63\u786e<\/p>\n<p>\u5047\u5982\u5728\u914d\u5907\u65f6\u53d1\u751f\u4e0d\u6b63\u786e\uff0c\u5219Cyclone\u96c6\u6210ic\u5c06nSTA\u2014TUS\u6570\u636e\u4fe1\u53f7\u7f6e\u4f4e\u6765\u8868\u660e\u4e00\u4e2a\u6570\u636e\u5e27\u4e0d\u6b63\u786e\uff0cCONF_DONE\u6570\u636e\u4fe1\u53f7\u4e3a\u4f4e\u3002\u5047\u5982\u5728<u>Quartus<\/u>APP\u7684 Device&amp;<u>Pi<\/u>n OpTIons\u5bf9\u8bdd\u6846\u7684General\u9879\u4e2d\uff0c\u9009\u5b9aAuto\u2014restart configuraTIon af<u>te<\/u>rerror\u9009\u62e9\u9879\uff0c\u5219Cyclone\u96c6\u6210ic\u6839\u636e\u6fc0\u8bddnCSO\u6765\u5b8c\u6210\u6821\u51c6\uff0c\u5728\u6821\u51c6\u65e0\u6548\u6642\u95f4\uff0840\u03bcs\uff09\u540e\u91ca\u653e\u51fa\u6765nSTATUS\uff0c\u5e76\u518d\u5ea6\u8bd5\u7740\u914d\u5907\u3002\u5047\u5982\u8be5\u9009\u62e9\u9879\u672a\u88ab\u9009\u5b9a\uff0c\u5219\u5916\u754c\u7cfb\u7edf\u8f6f\u4ef6\u52a1\u5fc5\u76d1\u63a7nSTA\u2014TUS\u6570\u636e\u4fe1\u53f7\u9632\u6b62\u9519\u8bef\uff0c\u968f\u540e\u5c06nCONFIG\u6570\u636e\u4fe1\u53f7\u964d\u4f4e\u5e76\u4e0d\u65ad\u6700\u5c1140\u03bcs\u6765\u91cd\u65b0\u90e8\u7f72\u3002<\/p>\n<p><u>\u7535\u5b50\u8ba1\u7b97\u673a<\/u>\u4e0e\u603b\u4f53\u76ee\u6807\u677f\u4e0a\u7684Nios\u7a0b\u5e8f\u6d41\u7a0b\u521b\u5efa\u8054\u63a5\uff0c\u6839\u636e\u901a\u8baf<u>\u63d2\u53e3<\/u>\u5c06Flash\u6587\u4ef6\u4f20\u9001\u7ed9FPGA\uff1bNios\u7a0b\u5e8f\u6d41\u7a0b\u5206\u8fa8\u51fa\u4f20\u8f93\u6587\u4ef6\u7684\u5bf9\u4e8e\u603b\u4f53\u76ee\u6807\u540e\uff0c\u5c06\u7a0b\u5e8f\u7f16\u5199\u6570\u636e\u4fe1\u606f\u50a8\u5b58\u5728 EPCS\u6216Flash\u4e2d\u3002\u63a5\u53d7\u5230\u7684\u6570\u636e\u4fe1\u606f\u6700\u5148\u6682\u5b58\u8fdbS<u>DRAM<\/u>\uff0c\u800c\u4e0d\u662f\u7acb\u5373\u5bf9EPCS\u548cFlash\u5f00\u5c55\u5b9e\u9645\u64cd\u4f5c\u3002\u90a3\u6837\u505a\u7684\u76ca\u5904\u662f\uff0c\u4e00\u65e6\u4f20\u8f93\u5931\u8d25\u6216\u4e2d\u65ad\uff0c\u4e0d\u5bb9\u6613\u6bc1\u574f\u539f\u6765EPCS\u548cFlash\u4e2d\u7684\u6570\u636e\u4fe1\u606f\u3002<\/p>\n<p>\u6839\u636esof2Flash\u6307\u4ee4\u6765\u8f6c\u5316\u6210Flash\u6587\u4ef6\u65f6\uff0c\u53ef\u4ee5\u6839\u636eSOPC Builder\u5f00\u542fNioslI command shell\uff0c\u5e94\u7528\u201csof2 Flash\u2014epcs-input=\u300a\u8f93\u5165\u6587\u4ef6\u540d\uff0esof\u300b\u4e00output=\u300a\u8f93\u51fa\u6587\u4ef6\u540d\uff0eFlash\u300b\u201d\u6307\u4ee4\uff0c\u8f6c\u5316\u6210\u7684 Flash\u6587\u4ef6\u5b58\u6709\u4e8e\u5de5\u7a0b\u9879\u76ee\u6587\u4ef6\u76ee\u5f55\u4e0b\u3002\u8fd8\u53ef\u4ee5\u5c06sof\u6587\u6863\u62f7\u8d1d\u5230\u201c\u3008q<u>uart<\/u>us\u5b89\u88c5\u6587\u4ef6\u3009\uff3ckits\uff3cnios2_60\uff3cexamples\u201d\u4e0b\uff0c\u7acb\u5373\u5f00\u542f NiosII command shell\uff0c\u5e94\u7528\u201csof2Flash-epcs\u2014input=\u300a\u8f93\u5165\u6587\u4ef6\u540d\uff0esof\u300b\u4e00output=\u300a\u5bfc\u51fa\u6587\u4ef6\u5939\u540d\u79f0\uff0eFlash&amp; gt;\u201d\uff0c\u8f6c\u5316\u6210\u7684Flash\u6587\u4ef6\u5b58\u6709\u4e8e\u201c\u3008quartus\u5b89\u88c5\u6587\u4ef6\u3009\uff3ckits\uff3cnios2_60\uff3cexamples\u201d\u4e0b\u3002<\/p>\n<p>3\uff0e2 \u8f6f\u4ef6\u7cfb\u7edf\u7684\u5347\u7ea7<\/p>\n<p>\u5982\u524d\u6240\u8ff0\uff0c\u8f6f\u4ef6\u7cfb\u7edf\u65e2\u53ef\u4ee5\u50a8\u653e\u5728Flash\u4e2d\uff0c\u8fd8\u53ef\u4ee5\u50a8\u653e\u5728EPCS\u4e2d\u3002\u8f6c\u5316\u6210APPFlash\u6587\u4ef6\u7684\u6bd4\u8f83\u7b80\u5355\u7684\u65b9\u6cd5\u662f\uff0c\u5728NiosII IDE\u81ea\u7136\u73af\u5883\u4e0b\u7cfb\u7edf\u5bf9\u5f00\u5c55\u7f16\u8bd1\u7a0b\u5e8f\uff0c\u8f6c\u5316\u6210\u7684Flash\u6587\u4ef6\u5b58\u6709\u4e8e\u201c\u300a\u76ee\u6807\u5de5\u7a0b\u300b\uff3csoftware\uff3cdebug\uff3c\u300a\u8f6f\u4ef6\u5de5\u7a0b\u300b\uff3cDebug\uff3cobj\uff3c\u201d\u6587\u4ef6\u76ee\u5f55\u4e0b\u3002<\/p>\n<p>Nios\u7a0b\u5e8f\u6d41\u7a0b\u53ef\u4ee5\u50a8\u653e\u5728Flash\u4e2d\uff0c\u5728SDRAM\u6216On\u2014chip RAM\uff08\u4e0b\u5217\u901a\u79f0\u201cRAM\u201d\uff09\u4e2d\u8fd0\u4f5c\u3002\u8fd9\u6837\u7684\u4e8b\u60c5\u5fc5\u987b\u6709\u4e00\u4e2a\u4e13\u4e1a\u7684Bootloader\uff0c\u8be5\u6587\u4ef6\u5b58\u6709\u4e8e\u201c quartus\u5b89\u88c5\u6587\u4ef6\u300b\uff3ckits\uff3cnios2_60\uff3ccomponents\uff3caltera_nios2\u201d\u6587\u4ef6\u76ee\u5f55\u4e0b\uff0c\u540d\u5b57\u4e3a \u201cboot_loader_cfi\uff0esrec\u201d\u3002\u5b83\u628a\u50a8\u653e\u5728Flash\u4e2d\u7684\u6bcf\u4e2a\u4ee3\u7801\u6bb5\u642c\u5230\u7a0b\u5e8f\u8fd0\u884c\u65f6\u6bcf\u4e2a\u6bb5\u771f\u771f\u6b63\u6b63\u7684\u90e8\u4f4d\u3002<\/p>\n<p>\u5982\u4e0b\u56fe4\u6240\u663e\u793a\uff0cBootloader\u7f16\u7801\u5750\u843d\u4e8eFlash\u7684\u4f4e\u8be6\u7ec6\u5730\u5740\u5904\uff0cNiosII\u5c31\u88ab\u903b\u8f91\u6027\u4e2d\u7684\u5ef6\u65f6\u7535\u8def\u6821\u51c6\uff0c\u4ecereset\u8be6\u7ec6\u5730\u5740\u5904\u9010\u6e10\u5b9e\u884c\u7f16\u7801\u3002\u5047\u5982 reset\u8be6\u7ec6\u5730\u5740\u8bbe\u5b9a\u5728Flash\u4e2d\uff0c\u90a3\u9ebc\u6821\u51c6\u540e\u6700\u5148\u8fd0\u4f5cFlash\u524d\u8fb9\u7684Bootloader\u7f16\u7801\uff0c\u7531Bootloader\u7f16\u7801\u5c06\u540e\u8fb9\u7684\u53ef\u6267\u884c\u7a0b\u5e8f\u6b63\u786e\u5f15\u5bfc\u5230\u6307\u5b9a\u4f4d\u7f6e\u3002\u5b9e\u884celf2Flash\u5e94\u7528\u8f6f\u4ef6\u5728elf\u6587\u4ef6\u65f6\u4f1a\u63d2\u8fdb\u4e00\u4e2a\u6b63\u786e\u5f15\u5bfc\u62f7\u8d1d\uff08Boot\u2014copier\uff09\u7a0b\u5e8f\u6d41\u7a0b\uff0c\u524d\u63d0\u6761\u4ef6\u662f\uff0celf\u5c06\u88ab\u8fde\u63a5\u5230RAM\u4e2d\u8fd0\u4f5c\u3002<\/p>\n<p align=\"center\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/12\/20211215132436-61b9ec9472016.gif\" alt=\"\" width=\"410\" height=\"329\" border=\"0\" \/><\/p>\n<p>Bootloader\u7684\u5de5\u4f5c\u5185\u5bb9\u5982\u4e0b\u56fe5\u6240\u663e\u793a\u3002<\/p>\n<p align=\"center\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/12\/20211215132436-61b9ec948e3ee.gif\" alt=\"\" width=\"260\" height=\"324\" border=\"0\" \/><\/p>\n<p>NiosII C\u7a0b\u5e8f\u6d41\u7a0b\u5728\u8fd0\u4f5c\u4ee5\u524d\u987b\u8981\u505a\u4e00\u4e9b\u590d\u4f4d\u5de5\u4f5c\u4e2d\u3002\u5047\u5982\u7a0b\u5e8f\u6d41\u7a0b\u7acb\u5373\u4eceFlash\u4e2d\u8fd0\u4f5c\uff0c\u5219Crt0\uff0eS\u662f\u6700\u5f00\u59cb\u5b9e\u884c\u7684\u7f16\u7801\uff1b\u5047\u5982\u7a0b\u5e8f\u6d41\u7a0b\u5e76\u4e0d\u662f\u7acb\u5373\u4eceFlash\u4e2d\u8fd0\u4f5c\uff0c\u5219 Crt0\uff0eS\u662f\u5b9e\u884c\u5b8cBootloader\u540e\u6700\u521d\u5b9e\u884c\u7684\u7f16\u7801\u3002<\/p>\n<p>\u8fd0\u4f5c\u5b8cBootloader\u540e\u4f9d\u7136\u8981\u5b9e\u884cCrtO\uff0es\uff0c\u4f46\u8fd9\u65f6Crt0\uff0es\u7684\u5de5\u4f5c\u6d41\u7a0b\u548c\u7a0b\u5e8f\u6d41\u7a0b\u5728Flash\u4e2d\u7acb\u5373\u8fd0\u4f5c\u7684\u72b6\u51b5\u6709\u4e00\u4e9b\u5dee\u522b\uff1a\u5b83\u6c92\u6709\u590d\u4f4d\u547d\u4ee4 Cache\uff0c\u4e5f\u4e0d\u4f1a\u5984\u56fe\u53bb\u8fd0\u8f7d\u5176\u4ed6\u6bb5\uff0c\u8fd9\u79cd\u6d41\u7a0b\u65e9\u5df2\u5728Boot\u2014loader\u4e2d\u8fdb\u884c\u3002\u7a0b\u5e8f\u6d41\u7a0b\u5370\u8c61\u65e9\u5df2\u5305\u62ec\u8fd9\u79cd\u6bb5\uff0c\u5728\u642c\u8fd0\u7a0b\u5e8f\u6d41\u7a0b\u5370\u8c61\u7684\u5e76\u4e14\u4e5f\u8fd0\u8f7d\u4e86\u76f8\u5bf9\u7684\u6bb5 \uff08\uff0erodata\u6bb5\uff0c\uff0erwdata\u6bb5\u548c\uff0eexceptions\u6bb5\uff09\u3002\u7a0b\u5e8f\u6d41\u7a0b\u5370\u8c61\u4e2d\u4e0d\u5305\u542b\uff0ebss\u6bb5\u548c\u6808\uff0c\u56e0\u6b64\u4f9d\u7136\u5fc5\u987b\u6e05\uff0ebss\u6bb5\uff0c\u53ca\u5176\u8bbe\u5b9a\u6808\u8868\u9488sp\u548c\u5168\u5c40\u6027\u8868\u9488gp\u3002Bootloader\u6c92\u6709\u8bfb\u5199\u80fd\u529b<u>\u50a8\u5b58\u5668<\/u>\u6570\u636e\u4fe1\u606f\uff0c\u56e0\u800c\u6c92\u6709\u590d\u4f4d\u6570\u636e\u4fe1\u606fCache\uff0c\u56e0\u6b64Crt0\uff0eS\u4f9d\u7136\u8981\u590d\u4f4d\u6570\u636e\u4fe1\u606fCache\u3002\u5982\u4e0b\u56fe6\u6240\u663e\u793a\uff0c\u5f53 Bootloader\u8f7d\u5165\u5230L\u65f6\uff0cL=0\u8868\u660e\u524d\u8fb9\u5168\u90e8\u7684\u7a0b\u5e8f\u6d41\u7a0b\u7eaa\u5f55\u65e9\u5df2\u91cd\u65b0\u5904\u7406\uff0c\u8fd9\u4e5f\u662f\u6700\u7ec8\u7684\u7a0b\u5e8f\u6d41\u7a0b\u7eaa\u5f55\uff0c\u56e0\u6b64\u5c31\u7acb\u5373\u8df3\u5230\u8be6\u7ec6\u5730\u5740A\u7684\u5730\u533a\u5b9e\u884c\u3002\u663e\u800c\u6613\u89c1A\u52a1\u5fc5\u662f\u7a0b\u5e8f\u6d41\u7a0b\u7684\u901a\u9053\u8be6\u7ec6\u5730\u5740\u3002\u5047\u5982L=Oxffffffff\uff08\u5373\u4e001\uff09\uff0c\u90a3\u9ebc\u5c31\u5ffd\u89c6A\u5e76\u5173\u673a\uff0c\u90a3\u6837\uff0c\u5373\u4f7f\u662f\u4e00\u4e2a\u4ec5\u6709FPGA\u914d\u5907\u6570\u636e\u4fe1\u606f\u800c\u6c92\u6709\u7a0b\u5e8f\u6d41\u7a0b\u7684EPCS\u4e5f\u662f\u5b89\u5168\u53ef\u9760\u7684\u3002\u5f53\u4e00\u4e2a EPCS\u4ec5\u6709\u914d\u5907\u6570\u636e\u4fe1\u606f\u800c\u6c92\u6709\u7a0b\u5e8f\u6d41\u7a0b\u65f6\uff0csof2Flash\u4f1a\u5728\u914d\u5907\u6570\u636e\u4fe1\u606f\u7684\u7ed3\u5c3e\u63d0\u53474\u4e2a\u5b57\u8282\u6570\u7684Oxff\uff0c\u4f7fBootloader\u4e0d\u5bb9\u6613\u6709\u9519\u8bef\u64cd\u4f5c\u3002 Bootloader\u7684\u5de5\u4f5c\u5185\u5bb9\u4e0eFlash\u4e2d\u540c\u6837\uff0c\u5982\u4e0b\u56fe5\u6240\u663e\u793a\u3002<\/p>\n<p align=\"center\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/12\/20211215132436-61b9ec94a9374.gif\" alt=\"\" width=\"300\" height=\"278\" border=\"0\" \/><\/p>\n<p>4\u3001\u8f6f\u4ef6\u7f16\u7a0b<\/p>\n<p>Altera\u4f01\u4e1a\u7ed9\u4e88\u7ed9\u987e\u5ba2\u4e8c\u79cd\u7c7b\u522b\u7684\u51fd\u6570\u516c\u5f0f\uff1aSimpleFlash Access\uff08\u7b80\u6613\u7684Flash\u6d4f\u89c8\uff09\uff0c\u53ca\u5176Fine\u2014Gr<u>ai<\/u>nedFlash Access\uff08\u7c97\u7c92\u5ea6Flash\u6d4f\u89c8\uff09\u3002\u6587\u4e2d\u5e94\u7528Fine\u2014Grained Flash Access\u51fd\u6570\uff0c\u5c3d\u7ba1\u6bd4Simple Flash Access\u7e41\u6742\u4e00\u4e9b\uff0c\u4f46\u53ef\u4ee5\u9632\u6b62\u901a\u5e38\u7684\u8de8\u5757\u64e6\u6389\u95ee\u9898\u3002\u7531\u4e8eFlash\u662f\u4f9d\u7167\u5757\uff08Block\uff09\u673a\u6784\u8d77\u4f86\u7684\uff0c\u901a\u5e38\u4e00\u6b21\u64e6\u6389\u4e00\u5168\u90e8\u5757\u3002\u5047\u5982\u5199Flash\u7684\u8be6\u7ec6\u5730\u5740\u4e0eFlash\u5757\u7684\u7ec4\u7ec7\u673a\u6784\u4e0d\u7b26\u5408\uff0c\u4f8b\u5982\u8d85\u8d8a\u4e86Flash\u5757\u7684\u8fb9\u6cbf\uff0c\u90a3\u9ebc\u5f88\u6709\u53ef\u80fd\u4f1a\u64e6\u795b\u9664\u5176\u4ed6\u7684\u6570\u636e\u4fe1\u606f\u3002\u5728\u5e94\u7528Flash\u7684\u8bfb\u5199\u80fd\u529b\u51fd\u6570\u516c\u5f0f\u65f6\uff0c\u5e93\u51fd\u6570\u65f6\u8981\u5305\u62ec \u201csys\uff0falt_Flash\uff0eh\u201d\u548c\u201csys\uff0falt_Flash_dev\uff0eh\u201d\uff0c\u8fd9\u4e24\u4e2a\u5e93\u51fd\u6570\u7ed9\u4e88\u4e86\u6d4f\u89c8Flash\u5143\u5668\u4ef6\u7684\u63a8\u52a8\u63d2\u53e3\u3002<\/p>\n<p>\u5e94\u7528\u4ee5\u524d\u8981\u5f00\u542fFlash\u3002\u5f00\u542fFlash\uff0c\u5982\u540cC\u7a0b\u5e8f\u6d41\u7a0b\u5f00\u542f\u7535\u8111\u786c\u76d8\u4e2d\u7684\u6570\u636e\u5e93\u6587\u4ef6\u4e00\u6837\u3002\u8fd9\u513f\u5e94\u7528alt_Flash_open_dev\uff08\uff09\u5f00\u542fFlash\uff0c\u5b83\u56de\u5230\u4e00\u4e2a\u8fd4\u56de\u503c\u3002\u6bd4\u5982\uff1a<\/p>\n<p align=\"center\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/12\/20211215132436-61b9ec94be570.gif\" alt=\"\" width=\"450\" height=\"159\" border=\"0\" \/><\/p>\n<p>\u5728\u5176\u4e2d\uff0cfd\u662falt_Flash_open_dev\uff08\uff09\u56de\u5230\u7684\u8fd4\u56de\u503c\uff1boffset\u662f\u76f8\u5bf9\u6027Flash\u57fa\u8be6\u7ec6\u5730\u5740\u7684\u504f\u79fb\uff0c\u662f\u8bfb\u5b9e\u9645\u64cd\u4f5c\u65f6\u8981\u8bfb\u51fa\u6570\u636e\u7b2c\u4e00\u4e2a\u5b57\u8282\u6570\u7684\u8be6\u7ec6\u5730\u5740\uff1blength\u662f\u6b64\u6b21\u5b9e\u9645\u64cd\u4f5c\u7684\u4fe1\u606f\u957f\u77ed\uff0c\u4f01\u4e1a\u662f\u5b57\u8282\u6570\u3002\u5f53\u4f20\u53c2\u4e3a\u65f6\uff0c\u8868\u660e\u8bfb\u63d0\u4ea4\u6210\u529f\u3002<\/p>\n<p align=\"center\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2021\/12\/20211215132436-61b9ec94d7935.gif\" alt=\"\" width=\"450\" height=\"74\" border=\"0\" \/><\/p>\n<p>\u5728\u5176\u4e2d\uff0cfd\u662fa1t_Flash_open_dev\uff08\uff09\u56de\u5230\u7684\u8fd4\u56de\u503c\uff1boffset\u662f\u76f8\u5bf9\u6027Flash\u57fa\u8be6\u7ec6\u5730\u5740\u7684\u504f\u79fb\uff0c\u662f\u5199\u5b9e\u9645\u64cd\u4f5c\u65f6\u8981\u8f7d\u5165\u7684\u6570\u636e\u4fe1\u606f\u7b2c\u4e00\u4e2a\u5b57\u8282\u6570\u7684\u8be6\u7ec6\u5730\u5740\uff1blength\u662f\u6b64\u6b21\u5b9e\u9645\u64cd\u4f5c\u7684\u4fe1\u606f\u957f\u77ed\uff0c\u4f01\u4e1a\u662f\u5b57\u8282\u6570\u3002\u5f53\u4f20\u53c2\u4e3a O\u65f6\uff0c\u8868\u660e\u5199\u63d0\u4ea4\u6210\u529f\u3002<\/p>\n<p>\u5e94\u7528\u5b8c\u540e\u522b\u5fd8\u4e86\u5173\u6389\u8be5Flash\uff0c\u5982\u540c\u8bfb\u5199\u80fd\u529b\u5b8c\u7535\u8111\u786c\u76d8\u4e2d\u7684\u6570\u636e\u5e93\u6587\u4ef6\u540e\u8981\u5173\u6389\u4e00\u6837\u3002\u5176\u539f\u5f62\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<p>void alt_Flash_close_dev\uff08alt_Flash_fd*fd\uff09\uff1b<\/p>\n<p>\u5728\u5176\u4e2d\uff0cfd\u662falt_Flash_open_dev\uff08\uff09\u56de\u5230\u7684\u8fd4\u56de\u503c\u3002<\/p>\n<p>\u7f16\u8005\u6ce8\uff1aFlash\u5143\u5668\u4ef6\u8bfb\u5199\u80fd\u529b\u7a0b\u5e8f\u6d41\u7a0b\u7565\u3002<\/p>\n<p>\u603b\u7ed3<\/p>\n<p>\u73b0\u9636\u6bb5\uff0c\u5728FPGA\u7684\u7814\u53d1\u6d41\u7a0b\u4e2d\uff0c\u6bcf\u4e00\u6b21\u5f00\u5c55\u7a0b\u5e8f\u6d41\u7a0b\u7684\u8c03\u8282\u548c\u5347\u7ea7\u65f6\u90fd\u5fc5\u987b\u5c06\u5546\u54c1\u4e0e\u7535\u5b50\u8ba1\u7b97\u673a\u4f20\u9001\u6570\u636e\uff0c\u5f00\u5c55\u7ebf\u4e0a\u5b9e\u9645\u64cd\u4f5c\uff0c\u90a3\u6837\u5c31\u9650\u5b9a\u4e86\u8c03\u8bd5\u7a0b\u5e8f\u548c\u5347\u7ea7\u7684\u533a\u57df\u8303\u7574\u3002\u800c\u6839\u636e FPGA\u7684\u5728\u8fd0\u7528\u6280\u672f\u7f16\u7a0b\u4fbf\u662f\u4e3a\u4e86\u66f4\u597d\u5730\u6446\u8131\u8fd9\u7c7b\u9650\u5b9a\u800c\u5236\u5b9a\u7684\u3002\u5728\u8fd0\u7528\u6280\u672f\u7f16\u7a0b\u5bf9\u786c\u4ef6\u914d\u7f6e\u89c4\u5b9a\u6781\u4f4e\uff0c\u53ea\u9700\u8fbe\u5230FPGA\u662fCy\u2014clone\u7cfb\u5217\u4ea7\u54c1\uff0c\u5177\u5907Flash\u5143\u5668\u4ef6\uff0c\u5177\u5907\u4e0a\u4e0b\u4f4d\u673a\u7684\u901a\u8baf\u5de5\u4f5c\u80fd\u529b\uff0c\u4e0d\u7528\u63d0\u5347\u8fc7\u591a\u7684\u786c\u4ef6\u5e73\u53f0\uff0c\u90fd\u80fd\u591f\u5b8c\u6210\u5728\u8fd0\u7528\u7a0b\u5e8f\u7f16\u5199\u3002\u5047\u5982\u5546\u54c1\u5177\u5907\u4e92\u8054\u7f51\u4f5c\u7528\u6216\u65e0\u7ebf\u7f51\u7edc\u4f5c\u7528\uff0c\u90a3\u9ebc\u5728\u4e25\u9177\u7684\u5de5\u4e1a\u751f\u4ea7\u5f53\u573a\u548c\u90ca\u5916\u53ef\u4ee5\u514d\u53bb\u5230\u5f53\u573a\u4e0d\u65ad\u62c6\u88c5\u3001\u8c03\u8282\u7684\u4e0d\u4fbf\u3002\u9488\u5bf9\u4fdd\u5bc6\u4ea7\u54c1\uff0c\u6b64\u9879\u6280\u672f\u6027\u53ef\u4ee5\u7ef4\u62a4\u4e13\u5229\u6743\uff0c\u6839\u636e\u4e92\u8054\u7f51\u5347\u7ea7\u5546\u54c1\u7684\u786c\u4ef6\u8f6f\u4ef6\uff0c\u63d0\u5347\u4e86\u66f4\u65b0\u8fc7\u7a0b\u4e2d\u88ab\u89e3\u51b3\u7684\u96be\u5ea6\u7cfb\u6570\u3002<\/p>\n<p>\u8d23\u7f16\uff1agt<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: 8pt; color: #999999;\"><em> \u8be5\u6587\u7ae0\u5185\u5bb9\u63d0\u9ad8\u6563\u64ad\u65b0\u6280\u672f\u5e94\u7528\u65b0\u95fb\u8d44\u8baf\uff0c\u5f88\u6709\u53ef\u80fd\u6709\u8f6c\u622a\/\u5f15\u5165\u4e4b\u72b6\u51b5\uff0c\u82e5\u6709\u4fb5\u6743\u884c\u4e3a\u8bf7\u8054\u7edc\u5220\u6389\u3002<\/em><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5728FPGA\u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u5982\u4f55\u5b9e\u73b0\u5728\u5e94\u7528\u7f16\u7a0b\u5e94\u7528\u529f\u80fd-\u5728FPGA\u4e2d\u5b9e\u73b0\u5728\u5e94\u7528\u7f16\u7a0b\uff08In Application Pro\u2014gramming\uff0cIAP\uff09\u6709\u4e24\u79cd\u65b9\u6cd5\uff1a\u4e00\u79cd\u662f\uff0c\u5728\u7535\u8def\u677f\u4e0a\u52a0\u5916\u7535\u8def\u3002\u4f8b\u5982\u7528MCU\u6216CPLD\u6765\u63a5\u6536\u914d\u7f6e\u6570\u636e\uff0c\u5728\u88ab\u52a8\u4e32\u884c\uff08PS\uff09\u6a21\u5f0f\u4e0b\u7531\u5916\u7535\u8def\u7f16\u7a0bFPGA\u6216\u662f\u7f16\u7a0bFlash\u5668\u4ef6\uff08\u5305\u62ecEPCS\u548cFlash\uff09\uff0c\u7136\u540e\u63a7\u5236FPGA\u7684\u914d\u7f6e\u590d\u4f4d\u5f15\u811a\u6765\u590d\u4f4d\u6574\u4e2aFPGA\uff0c\u6700\u540eFPGA\u91c7\u7528\u4e3b\u4e32\u65b9\u5f0f\u8fdb\u884c\u81ea\u6211\u914d\u7f6e\u3002\u53e6\u4e00\u79cd\u662f\uff0c\u901a\u8fc7FPGA\u4e2d\u7684Nios CPU\u6216\u662f\u4e13\u7528IP\u6765\u63a5\u6536\u7f16\u7a0b\u6570\u636e\uff0c\u5e76\u7f16\u7a0bFlash\u82af\u7247\uff0c\u7136\u540e\u901a\u8fc7\u5916\u90e8\u7b80\u5355\u7535\u8def\u5c06FPGA\u590d\u4f4d\u542f\u52a8\uff0c\u4ee5\u4e3b\u52a8\u4e32\u884c\uff08AS\uff09\u6a21\u5f0f\u8fdb\u884c\u914d\u7f6e\u3002<\/p>\n","protected":false},"author":10,"featured_media":21945,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[59],"tags":[2809,289,271],"class_list":["post-21946","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-industry-information","tag-fpga","tag-289","tag-271"],"jetpack_featured_media_url":"\/wp-content\/uploads\/2021\/12\/20211215132436-61b9ec94ef6a2.gif","jetpack-related-posts":[{"id":19814,"url":"https:\/\/www.paiqinano.com\/?p=19814","url_meta":{"origin":21946,"position":0},"title":"\u77e5\u8bc6\u5206\u4eab\uff1a\u542bFPGA\u7535\u8def\u677f\u6d4b\u8bd5\u65b9\u6cd5\u6b65\u9aa4\u53ca\u6ce8\u610f\u4e8b\u9879\u8be6\u89e3","author":"\u6d3e\u65d7\u7eb3\u7c73","date":"2022\u5e742\u67083\u65e5","format":false,"excerpt":"\u4ee5\u529f\u80fd\u5efa\u6a21\u4e3a\u57fa\u7840\u7684\u542bFPGA\u7535\u8def\u677f\u6d4b\u8bd5\u65b9\u6cd5\u7814\u7a76\u8fc7\u7a0b\u8be6\u89e3- FPGA \u5177\u6709\u9ad8\u901f\u5ea6\u3001\u9ad8\u96c6\u6210\u5ea6\uff0c\u53ef\u91cd\u590d\u7f16\u7a0b\u2026","rel":"","context":"\u5728\u201c\u884c\u4e1a\u8d44\u8baf\u201d\u4e2d","block_context":{"text":"\u884c\u4e1a\u8d44\u8baf","link":"https:\/\/www.paiqinano.com\/?cat=59"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2021\/12\/20211215131237-61b9e9c5d35b5.jpg","width":350,"height":200},"classes":[]},{"id":22624,"url":"https:\/\/www.paiqinano.com\/?p=22624","url_meta":{"origin":21946,"position":1},"title":"LVDS\u6280\u672f\u548cCyclone\u53ef\u7f16\u6210\u903b\u8f91\u5668\u4ef6\u5b9e\u73b0\u9ad8\u901f\u901a\u8baf\u7684\u5e94\u7528\u8bbe\u8ba1","author":"\u6d3e\u65d7\u7eb3\u7c73","date":"2022\u5e741\u67082\u65e5","format":false,"excerpt":"\u57fa\u4e8eLVDS\u6280\u672f\u548cCyclone\u53ef\u7f16\u6210\u903b\u8f91\u5668\u4ef6\u5b9e\u73b0\u9ad8\u901f\u901a\u8baf\u5e94\u7528\u8bbe\u8ba1-\u5bf9\u4e8e\u4e00\u4e9b\u590d\u6742\u7684\u7535\u5b50\u7cfb\u7edf\uff0c\u5355\u5757\u7535\u8def\u2026","rel":"","context":"\u5728\u201c\u884c\u4e1a\u8d44\u8baf\u201d\u4e2d","block_context":{"text":"\u884c\u4e1a\u8d44\u8baf","link":"https:\/\/www.paiqinano.com\/?cat=59"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2021\/12\/20211215132944-61b9edc847911.png","width":350,"height":200},"classes":[]},{"id":17390,"url":"https:\/\/www.paiqinano.com\/?p=17390","url_meta":{"origin":21946,"position":2},"title":"\u5982\u4f55\u5b9e\u73b0PFR\u89e3\u51b3\u65b9\u6848 \uff0c\u4ee5\u53ca\u4e24\u79cd\u5178\u578b\u65b9\u6848\u7684\u6bd4\u8f83","author":"\u6d3e\u65d7\u7eb3\u7c73","date":"2022\u5e741\u670816\u65e5","format":false,"excerpt":"\u8fd9\u79cd\u57fa\u4e8eMCU\u7684PFR\u65b9\u6848\u6709\u8bf8\u591a\u9650\u5236\u3002\u4f8b\u5982\uff0c\u56fe4\u7535\u8def\u4e2d\u4f7f\u7528\u7684\u63a7\u5236PLD\u65e0\u6cd5\u4fdd\u62a4\u81ea\u8eab\u56fa\u4ef6\uff0c\u4e5f\u5c31\u610f\u5473\u7740\u8fd9\u2026","rel":"","context":"\u5728\u201c\u884c\u4e1a\u8d44\u8baf\u201d\u4e2d","block_context":{"text":"\u884c\u4e1a\u8d44\u8baf","link":"https:\/\/www.paiqinano.com\/?cat=59"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2021\/12\/20211215130132-61b9e72cb559b.jpg","width":350,"height":200,"srcset":"\/wp-content\/uploads\/2021\/12\/20211215130132-61b9e72cb559b.jpg 1x, \/wp-content\/uploads\/2021\/12\/20211215130132-61b9e72cb559b.jpg 2x"},"classes":[]},{"id":22521,"url":"https:\/\/www.paiqinano.com\/?p=22521","url_meta":{"origin":21946,"position":3},"title":"FPGA\u600e\u4e48\u9009\u578b\uff1f","author":"\u6d3e\u65d7\u7eb3\u7c73","date":"2021\u5e7412\u670831\u65e5","format":false,"excerpt":"\u5982\u679c\u4f60\u5728\u91c7\u7528FPGA\u7684\u7535\u8def\u677f\u8bbe\u8ba1\u65b9\u9762\u7684\u7ecf\u9a8c\u5f88\u6709\u9650\u6216\u6839\u672c\u6ca1\u6709\uff0c\u90a3\u4e48\u5728\u65b0\u7684\u9879\u76ee\u4e2d\u4f7f\u7528FPGA\u7684\u524d\u666f\u5c31\u5341\u5206\u2026","rel":"","context":"\u5728\u201c\u884c\u4e1a\u8d44\u8baf\u201d\u4e2d","block_context":{"text":"\u884c\u4e1a\u8d44\u8baf","link":"https:\/\/www.paiqinano.com\/?cat=59"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":18682,"url":"https:\/\/www.paiqinano.com\/?p=18682","url_meta":{"origin":21946,"position":4},"title":"CP2101\u82af\u7247\u548c\u5355\u7247\u673aIAP\u6280\u672f\u5b9e\u73b0\u5b9e\u9a8c\u7535\u8def\u677f\u5728\u7ebf\u7f16\u7a0b\u8bbe\u8ba1\u6ce8\u610f\u4e8b\u9879\u8be6\u89e3","author":"\u6d3e\u65d7\u7eb3\u7c73","date":"2022\u5e741\u670831\u65e5","format":false,"excerpt":"\u82af\u7247CP2101\u662f\u4e00\u79cd\u9ad8\u5ea6\u96c6\u6210\u7684USB\u8f6cUART\u6865\u63a5\u5668\uff0c\u5b83\u5305\u542b\u6709USB2.0\u5168\u901f\u529f\u80fd\u63a7\u5236\u5668\u3001USB\u6536\u2026","rel":"","context":"\u5728\u201c\u884c\u4e1a\u8d44\u8baf\u201d\u4e2d","block_context":{"text":"\u884c\u4e1a\u8d44\u8baf","link":"https:\/\/www.paiqinano.com\/?cat=59"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2021\/12\/20211215130659-61b9e873f2958.png","width":350,"height":200},"classes":[]},{"id":20796,"url":"https:\/\/www.paiqinano.com\/?p=20796","url_meta":{"origin":21946,"position":5},"title":"FPGA\u7684\u7b49\u7cbe\u5ea6\u9891\u7387\u8ba1\u8bbe\u8ba1\u6ce8\u610f\u4e8b\u9879\u8be6\u89e3","author":"\u6d3e\u65d7\u7eb3\u7c73","date":"2022\u5e741\u670826\u65e5","format":false,"excerpt":"\u57fa\u4e8eFPGA\u7684\u7b49\u7cbe\u5ea6\u9891\u7387\u8ba1\u7684\u8bbe\u8ba1\u4e0e\u5b9e\u73b0-\u672c\u6587\u4ecb\u7ecd\u4e86\u4e00\u79cd\u5229\u7528FPGA\u5b9e\u73b0DC\uff5e100 MHz\u7684\u81ea\u52a8\u5207\u6362\u2026","rel":"","context":"\u5728\u201c\u884c\u4e1a\u8d44\u8baf\u201d\u4e2d","block_context":{"text":"\u884c\u4e1a\u8d44\u8baf","link":"https:\/\/www.paiqinano.com\/?cat=59"},"img":{"alt_text":"","src":"\/wp-content\/uploads\/2021\/12\/20211215131823-61b9eb1f98fe5.jpg","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.paiqinano.com\/index.php?rest_route=\/wp\/v2\/posts\/21946","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.paiqinano.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.paiqinano.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.paiqinano.com\/index.php?rest_route=\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.paiqinano.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=21946"}],"version-history":[{"count":2,"href":"https:\/\/www.paiqinano.com\/index.php?rest_route=\/wp\/v2\/posts\/21946\/revisions"}],"predecessor-version":[{"id":27444,"href":"https:\/\/www.paiqinano.com\/index.php?rest_route=\/wp\/v2\/posts\/21946\/revisions\/27444"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.paiqinano.com\/index.php?rest_route=\/wp\/v2\/media\/21945"}],"wp:attachment":[{"href":"https:\/\/www.paiqinano.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21946"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.paiqinano.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21946"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.paiqinano.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21946"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}