📄 nf_1x_2kb.html
字号:
</TABLE><P>NF initialisation<P><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#FFD0D0" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return: OK : init complete KO : - NF not supported or not recognise</PRE></TD></TABLE><HR><A NAME="nf_init_spare"></A><H3> nf_init_spare </H3><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#D6E8FF" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#nf_init_spare">nf_init_spare</A> ( void ) </PRE></TD></TABLE><P>Initialize logical value in redundant data when a block is opened forthe first time and the sector inside the block is not 0.<P><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#FFD0D0" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><P><TABLE BORDER="1" WIDTH="75 %" BGCOLOR="white" CELLPADDING="6"><TR> <TD>ram/xram</TD> <TD></TD><TR> <TD>cycle</TD> <TD></TD><TR> <TD>stack</TD> <TD></TD><TR> <TD>code</TD> <TD></TD></TABLE><HR><A NAME="nf_invert_block"></A><H3> nf_invert_block </H3><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#D6E8FF" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#nf_invert_block">nf_invert_block</A> ( void ) </PRE></TD></TABLE><P>invert a used physical block with a spare free blockset block_used to TRUE or FALSEupdate the current physical sector address<P><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#FFD0D0" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE> return:</PRE></TD></TABLE><HR><A NAME="nf_mark_bad_block"></A><H3> nf_mark_bad_block </H3><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#D6E8FF" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#nf_mark_bad_block">nf_mark_bad_block</A> ( void ) </PRE></TD></TABLE><P>Write 0x00 on block status byte (Byte 5 of spare data)<P><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#FFD0D0" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE> return: </PRE></TD></TABLE><P><TABLE BORDER="1" WIDTH="75 %" BGCOLOR="white" CELLPADDING="6"><TR> <TD>ram/xram</TD> <TD></TD><TR> <TD>cycle</TD> <TD></TD><TR> <TD>stack</TD> <TD></TD><TR> <TD>code</TD> <TD></TD></TABLE><H4> Note </H4><P><P><HR><A NAME="nf_read_byte"></A><H3> nf_read_byte </H3><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#D6E8FF" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>Byte <A HREF="#nf_read_byte">nf_read_byte</A> ( void ) </PRE></TD></TABLE><P>Low level memory read function<P><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#FFD0D0" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return: Data read from memory</PRE></TD></TABLE><HR><A NAME="nf_read_close"></A><H3> nf_read_close </H3><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#D6E8FF" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#nf_read_close">nf_read_close</A> ( void ) </PRE></TD></TABLE><P>Low level memory read close<P><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#FFD0D0" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><HR><A NAME="nf_read_open"></A><H3> nf_read_open </H3><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#D6E8FF" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>bit <A HREF="#nf_read_open">nf_read_open</A> ( Uint32 pos ) </PRE></TD></TABLE><P>Low level memory read update<P><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#FFD0D0" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE> pos: address of the logic sector to read (size 512 bytes)*return: Update memory for reading</PRE></TD></TABLE><HR><A NAME="nf_read_sector"></A><H3> nf_read_sector </H3><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#D6E8FF" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>bit <A HREF="#nf_read_sector">nf_read_sector</A> ( Uint16 nb_sector ) </PRE></TD></TABLE><P>This function is an optimized function that writes nb-sector * 512 bytesfrom NF card to USB controller<P><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#FFD0D0" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE> nb_sector: number of contiguous sector to read global: gl_ptr_mem*return: OK read done KO read failure</PRE></TD></TABLE><H4> Note </H4><P>nb_sector always >= 1, can not be zero<HR><A NAME="nf_read_spare_byte"></A><H3> nf_read_spare_byte </H3><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#D6E8FF" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>bit <A HREF="#nf_read_spare_byte">nf_read_spare_byte</A> ( void ) </PRE></TD></TABLE><P>read spare data byte and construct the look up table.<P><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#FFD0D0" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return: OK : LUT construction complete KO : pb for LUT</PRE></TD></TABLE><HR><A NAME="nf_reassign_block"></A><H3> nf_reassign_block </H3><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#D6E8FF" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#nf_reassign_block">nf_reassign_block</A> ( void ) </PRE></TD></TABLE><P>Reassign the block value in LUT (copy of LUT)<P><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#FFD0D0" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><P><TABLE BORDER="1" WIDTH="75 %" BGCOLOR="white" CELLPADDING="6"><TR> <TD>ram/xram</TD> <TD></TD><TR> <TD>cycle</TD> <TD></TD><TR> <TD>stack</TD> <TD></TD><TR> <TD>code</TD> <TD></TD></TABLE><HR><A NAME="nf_update_spare_data"></A><H3> nf_update_spare_data </H3><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#D6E8FF" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#nf_update_spare_data">nf_update_spare_data</A> ( void ) </PRE></TD></TABLE><P>Update the value of the logical block on the spare data area<P><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#FFD0D0" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><P><TABLE BORDER="1" WIDTH="75 %" BGCOLOR="white" CELLPADDING="6"><TR> <TD>ram/xram</TD> <TD></TD><TR> <TD>cycle</TD> <TD></TD><TR> <TD>stack</TD> <TD></TD><TR> <TD>code</TD> <TD></TD></TABLE><HR><A NAME="nf_write_byte"></A><H3> nf_write_byte </H3><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#D6E8FF" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>bit <A HREF="#nf_write_byte">nf_write_byte</A> ( Byte b ) </PRE></TD></TABLE><P>Low level memory write function<P><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#FFD0D0" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE> b: data to write*RETURN: write status: OK: write done KO: write not done*</PRE></TD></TABLE><HR><A NAME="nf_write_close"></A><H3> nf_write_close </H3><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#D6E8FF" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>bit <A HREF="#nf_write_close">nf_write_close</A> ( void ) </PRE></TD></TABLE><P>Low level memory write close: release NF<P><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#FFD0D0" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*return:</PRE></TD></TABLE><HR><A NAME="nf_write_open"></A><H3> nf_write_open </H3><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#D6E8FF" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>bit <A HREF="#nf_write_open">nf_write_open</A> ( Uint32 pos ) </PRE></TD></TABLE><P>Low level memory write update<P><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#FFD0D0" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE> pos: address of the the next write data*return:</PRE></TD></TABLE><HR><A NAME="nf_write_sector"></A><H3> nf_write_sector </H3><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#D6E8FF" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>bit <A HREF="#nf_write_sector">nf_write_sector</A> ( Uint16 nb_sector ) </PRE></TD></TABLE><P>This function is an optimized function that writes nb-sector * 512 bytesfrom USB controller to NF card<P><TABLE BORDER="0" WIDTH="100 %" BGCOLOR="#FFD0D0" CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE> global: gl_ptr_mem*return: write status: OK: write done KO: write not done</PRE></TD></TABLE><H4> Note </H4><P>nb_sector always >= 1, can not be zero<HR></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -